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

VCollections.release.build.xml Maven / Gradle / Ivy

The newest version!
<?xml version="1.0" encoding="UTF-8"?>

<project name="VCollections" default="release"
  xmlns:resolver="antlib:org.apache.maven.resolver.ant"
  xmlns:antcontrib="antlib:net.sf.antcontrib"
  xmlns:if="ant:if"
  >

  <property name="RELEASE" value="0.9"/>

  <property name="annotationsVersion" value="20.1.0"/>
  <property name="vannotationsVersion" value="1"/>
  <property name="vutilsVersion" value="1"/>
  <property name="vtypesVersion" value="1"/>
  <property name="findbugsVersion" value="3.0.2"/>

  <!--
    To use the Maven resolver, the Maven resolver ant tasks uber JAR must installed in .ant/lib.
    See Maven Central: maven-resolver-ant-tasks-*-uber.jar
  -->

  <tstamp>
    <format property="NOW" timezone="GMT" pattern="yyyy-MM-dd'T'HH:mm:ss'Z'"/>
  </tstamp>

  <property name="base" location=".."/>
  <property name="src" location="${base}/src"/>
  <property name="resourcesdir" location="${base}/resources"/>
  <property name="builddir" location="out"/>
  <property name="classesdir" location="${builddir}/classes"/>
  <property name="distdir" location="dist"/>
  <property name="debug" value="false"/>
  <property name="fullReleaseName" value="${RELEASE} ${NOW}"/>

  <target name="init">
    <echo level="info" message="${fullReleaseName}"/>
  </target>

  <target name="clean">
    <delete includeEmptyDirs="true" failonerror="false"><fileset dir="${builddir}"/></delete>
  </target>

  <target name="saveIDs">
    <echo file="${classesdir}/org/violetlib/collections/RELEASE.txt" message="${RELEASE}"/>
    <echo file="${classesdir}/org/violetlib/collections/BUILD.txt" message="${NOW}"/>
  </target>

  <target name="resolve">
    <resolver:resolve>
      <dependencies>
        <dependency coords="org.jetbrains:annotations:${annotationsVersion}:provided"/>
        <dependency coords="org.violetlib:vannotations:${vannotationsVersion}:provided"/>
        <dependency coords="org.violetlib:vutils:${vutilsVersion}:provided"/>
        <dependency coords="org.violetlib:vtypes:${vtypesVersion}:provided"/>
        <dependency coords="com.google.code.findbugs:jsr305:${findbugsVersion}:provided"/>
      </dependencies>
      <path refid="maven.path" classpath="compile"/>
    </resolver:resolve>
  </target>

  <path id="cp">
    <path refid="maven.path"/>
  </path>

  <target name="compile-Java" depends="resolve">
    <mkdir dir="${classesdir}"/>
    <javac
      classpathref="cp"
      encoding="UTF-8"
      release="8"
      srcdir="${src}"
      destdir="${classesdir}"
      debug="${debug}"
      optimize="true"
      includeantruntime="false"
      fork="true"
      >
      <patternset>
        <include name="org/violetlib/**/*.java"/>
      </patternset>
    </javac>
  </target>

  <target name="VCollections" depends="compile-Java,saveIDs">
    <echo level="info" message="Building VCollections ${fullReleaseName}"/>
    <mkdir dir="${distdir}"/>
    <jar jarfile="${distdir}/VCollections.jar" basedir="${classesdir}" manifest="${resourcesdir}/Manifest"/>
  </target>

  <target name="release" depends="clean, VCollections"/>

</project>




© 2015 - 2024 Weber Informatics LLC | Privacy Policy