All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.kuali.jenkins.ant.cli-wrapper.xml Maven / Gradle / Ivy

<!--

  Copyright 2004-2011 The Kuali Foundation

  Licensed under the Educational Community 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.opensource.org/licenses/ecl2.php

  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="Jenkins CLI Wrapper">
  <description>Ant wrapper for Jenkins CLI calls</description>

  <target name="noop" />

  <target name="cli">
    <echo>${jenkins.server} - ${jenkins.cli.cmd}</echo>
    <java classname="${jenkins.cli.classname}" classpath="${maven.plugin.classpath}" fork="${ant.java.fork}" failonerror="${ant.java.failonerror}">
      <arg value="-s" />
      <arg value="${jenkins.server}" />
      <arg value="${jenkins.cli.cmd}" />
    </java>
  </target>

  <target name="build">
    <property name="jenkins.cli.cmd" value="build" />
    <echo>${jenkins.server} - ${jenkins.cli.cmd} - ${jenkins.job.name}</echo>
    <java classname="${jenkins.cli.classname}" classpath="${maven.plugin.classpath}" fork="${ant.java.fork}" failonerror="${ant.java.failonerror}">
      <arg value="-s" />
      <arg value="${jenkins.server}" />
      <arg value="${jenkins.cli.cmd}" />
      <arg value="${jenkins.job.name}" />
      <!--
        This causes Jenkins to skip the build if nothing has changed.
        Commented out because it wasn't working properly in 1.440.
        Also, if someone has gone to the trouble of invoking the Jenkins
        CLI to fire a build they are most likely going to expect that
        it will kick off a build regardless of things having changed or not.
        <arg value="${jenkins.cli.changes}" />
      -->
      <!--
        Commenting this out until https://issues.jenkins-ci.org/browse/JENKINS-7052 is resolved

        The symptoms I'm seeing are that everything works fine when connecting directly to the EC2 server
        but get:
        SEVERE: I/O error in channel Chunked connection to http://ci.fn.kuali.org/cli
        java.io.IOException: Unexpected termination of the channel
        when connecting through the load balancer
        <arg value="${jenkins.cli.wait}" />
      -->
    </java>
  </target>

  <target name="get">
    <property name="jenkins.cli.cmd" value="get-job" />
    <echo>${jenkins.server} - ${jenkins.cli.cmd} - ${jenkins.job.name}</echo>
    <echo>file - ${ant.output}</echo>
    <java classname="${jenkins.cli.classname}" output="${ant.output}" classpath="${maven.plugin.classpath}" fork="${ant.java.fork}" failonerror="${ant.java.failonerror}">
      <arg value="-s" />
      <arg value="${jenkins.server}" />
      <arg value="${jenkins.cli.cmd}" />
      <arg value="${jenkins.job.name}" />
    </java>
  </target>

  <target name="delete">
    <property name="jenkins.cli.cmd" value="delete-job" />
    <echo>${jenkins.server} - ${jenkins.cli.cmd} - ${jenkins.job.name}</echo>
    <java classname="${jenkins.cli.classname}" classpath="${maven.plugin.classpath}" fork="${ant.java.fork}" failonerror="${ant.java.failonerror}">
      <arg value="-s" />
      <arg value="${jenkins.server}" />
      <arg value="${jenkins.cli.cmd}" />
      <arg value="${jenkins.job.name}" />
    </java>
  </target>

  <target name="inputcmd">
    <echo>${jenkins.server} - ${jenkins.cli.cmd} - ${jenkins.job.name}</echo>
    <echo>file - ${ant.input}</echo>
    <java classname="${jenkins.cli.classname}" input="${ant.input}" classpath="${maven.plugin.classpath}" fork="${ant.java.fork}" failonerror="${ant.java.failonerror}">
      <arg value="-s" />
      <arg value="${jenkins.server}" />
      <arg value="${jenkins.cli.cmd}" />
      <arg value="${jenkins.job.name}" />
    </java>
  </target>

  <target name="create">
    <antcall target="inputcmd">
      <param name="jenkins.cli.cmd" value="create-job" />
    </antcall>
  </target>

  <target name="update">
    <antcall target="inputcmd">
      <param name="jenkins.cli.cmd" value="update-job" />
    </antcall>
  </target>

</project>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy