build.xml

42 lines | 1.584 kB Blame History Raw Download
<!--
  ~ Copyright 2016 Red Hat, Inc. and/or its affiliates
  ~ and other contributors as indicated by the @author tags.
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<project name="inject-provider" basedir="." default="inject-provider">

    <scriptdef name="inject-provider" language="javascript"  manager="bsf">
        <attribute name="path"/>
        <![CDATA[
            importClass(Packages.java.io.File);
            importClass(Packages.org.keycloak.util.JsonSerialization);

            path = attributes.get("path");
            file = new File(path);
            root = JsonSerialization.mapper.readTree(file);

            // inject provider
            providers = root.withArray("providers");
            providers.add("module:org.keycloak.testsuite.integration-arquillian-testsuite-providers");

            // save file
            JsonSerialization.prettyMapper.writeValue(file, root);
        ]]>
    </scriptdef>

    <target name="inject-provider">
        <inject-provider path="${auth.server.home}/standalone/configuration/keycloak-server.json"/>
    </target>
</project>