vzakharchenko/keycloak-radius-plugin

View on GitHub
keycloak-quarkus/build/build.xml

Summary

Maintainability
Test Coverage
<project name="web_service_shell_sample.config" default="build_project" basedir="."
         xmlns:if="ant:if"
         xmlns:unless="ant:unless" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="ant:unless ">

    <!-- directory settings -->
    <property name="BUILD_DIR" value="target"/>
    <property name="CACHE_DIR" value="cache"/>
    <property name="KEYCLOAK_VERSION" value="8.0.2"/>
    <property name="PRODUCTION" value="false"/>
    <property name="KEYCLOAK_URL"
              value="https://github.com/keycloak/keycloak/releases/download/${KEYCLOAK_VERSION}/keycloak-${KEYCLOAK_VERSION}.zip"/>
    <property name="KEYCLOAK_PATH" value="${BUILD_DIR}/keycloak"/>
    <property name="KEYCLOAK_SOURCE" value="${BUILD_DIR}/keycloak_source.zip"/>
    <property name="KEYCLOAK_SOURCE_LOCAL" value="keycloak_source.zip"/>
    <property name="KEYCLOAK_DESTINATION" value="${KEYCLOAK_PATH}/keycloak-${KEYCLOAK_VERSION}"/>

    <!-- Plugins -->
    <property name="KEYCLOAK_RADIUS_PLUGIN" value="${BUILD_DIR}/artifacts/radius-plugin"/>
    <property name="KEYCLOAK__MIKROTIK_RADIUS_PLUGIN" value="${BUILD_DIR}/artifacts/mikrotik-radius-plugin"/>
    <property name="KEYCLOAK_CISCO_RADIUS_PLUGIN" value="${BUILD_DIR}/artifacts/cisco-radius-plugin"/>
    <property name="KEYCLOAK_CHILLISPOT_RADIUS_PLUGIN" value="${BUILD_DIR}/artifacts/chillispot-radius-plugin"/>
    <property name="KEYCLOAK_RAD_SEC_PLUGIN" value="${BUILD_DIR}/artifacts/rad-sec-plugin"/>
    <property name="KEYCLOAK_DISCONNECT_PLUGIN" value="${BUILD_DIR}/artifacts/radius-disconnect-plugin"/>
    <property name="KEYCLOAK_PROXY_PLUGIN" value="${BUILD_DIR}/artifacts/radius-proxy-plugin"/>

    <first id="keycloakRadiusZip">
        <fileset dir="${KEYCLOAK_RADIUS_PLUGIN}" includes="**"/>
    </first>
    <first id="keycloakMikrotikRadiusZip">
        <fileset dir="${KEYCLOAK__MIKROTIK_RADIUS_PLUGIN}" includes="**"/>
    </first>
    <first id="keycloakCiscoRadiusZip">
        <fileset dir="${KEYCLOAK_CISCO_RADIUS_PLUGIN}" includes="**"/>
    </first>
    <first id="keycloakChillispotRadiusZip">
        <fileset dir="${KEYCLOAK_CHILLISPOT_RADIUS_PLUGIN}" includes="**"/>
    </first>
    <first id="keycloakRadSecZip">
        <fileset dir="${KEYCLOAK_RAD_SEC_PLUGIN}" includes="**"/>
    </first>
    <first id="keycloakdisconnectZip">
        <fileset dir="${KEYCLOAK_DISCONNECT_PLUGIN}" includes="**"/>
    </first>
    <first id="keycloakproxyZip">
        <fileset dir="${KEYCLOAK_PROXY_PLUGIN}" includes="**"/>
    </first>


    <!-- compile -->
    <target name="build_project">

        <condition property="prod">
            <istrue value="${PRODUCTION}"/>
        </condition>

        <get if:set="prod" description="download keycloak ${KEYCLOAK_URL}"
             src="${KEYCLOAK_URL}"
             dest="${KEYCLOAK_SOURCE}">
        </get>

        <exec if:set="prod" executable="unzip">
            <arg line="-o -q ${KEYCLOAK_SOURCE} -d ${KEYCLOAK_PATH}"/>
        </exec>

        <exec executable="unzip" unless:set="prod">
            <arg line="-o -q ${KEYCLOAK_SOURCE_LOCAL} -d ${KEYCLOAK_PATH}"/>
        </exec>

        <copydir src="build/ext" dest="${KEYCLOAK_DESTINATION}"/>


        <!-- Install Radius Plugin-->
        <copy file="${toString:keycloakRadiusZip}" todir="${KEYCLOAK_DESTINATION}/providers"/>

        <!-- Install RadSec Plugin-->
        <copy file="${toString:keycloakRadSecZip}" todir="${KEYCLOAK_DESTINATION}/providers"/>

        <!-- Install Mikrotik Radius Plugin-->
        <copy file="${toString:keycloakMikrotikRadiusZip}" todir="${KEYCLOAK_DESTINATION}/providers"/>

        <!-- Install Cisco Radius Plugin-->
        <copy file="${toString:keycloakCiscoRadiusZip}" todir="${KEYCLOAK_DESTINATION}/providers"/>

        <!-- Install Chillispot Radius Plugin-->
        <copy file="${toString:keycloakChillispotRadiusZip}" todir="${KEYCLOAK_DESTINATION}/providers"/>

        <!-- Install Radius Disconnect Plugin-->
        <copy file="${toString:keycloakdisconnectZip}" todir="${KEYCLOAK_DESTINATION}/providers"/>
        <!-- Install Radius Proxy Plugin-->
        <copy file="${toString:keycloakproxyZip}" todir="${KEYCLOAK_DESTINATION}/providers"/>

    </target>


</project>