Build numbers: major.minor.revision

The build_info.properties file: build.major.number=00 build.revision.number=00 build.minor.number=00 The build.xml file: <?xml version=”1.0″ encoding=”UTF-8″?> <project name=”project” default=”current-number”> <property file=”build_info.properties”/> <property name=”build.number” value=”${build.major.number}.${build.minor.number}.${build.revision.number}”/> <target name=”current-number”> <echo>Current build number:${build.number}</echo> </target> <target name=”compile”> <antcall target=”revision”></antcall> </target> <target name=”dist”> <antcall target=”minor”></antcall> </target> <target name=”revision”> <propertyfile file=”build_info.properties”> <entry key=”build.revision.number” type=”int” operation=”+” value=”1″ pattern=”00″/> </propertyfile> </target> <target name=”minor”> <propertyfile file=”build_info.properties”> <entry key=”build.minor.number” type=”int” … Read more

How do I add an Implementation-Version value to a jar manifest using Maven?

You would use the Maven Archiver: <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> </manifest> </archive> </configuration> </plugin> </plugins> This will add the following to the manifest file: Implementation-Title: ${pom.name} Implementation-Version: ${pom.version} Implementation-Vendor-Id: ${pom.groupId} Implementation-Vendor: ${pom.organization.name}

Building a library using autotools from cmake

I think that you’d be better off using the ExternalProject feature of cmake. I guess you have your project and have libantrl in a sub directory? project +- libantlr +- mysrc —- etc —- If that’s the case, you can do something like this in the top level CMakeLists.txt: cmake_minimum_required(VERSION 2.8) project(test) include(ExternalProject) ExternalProject_Add(libantlr SOURCE_DIR … Read more

Best .NET build tool [duplicate]

We actually use a combination of NAnt and MSBuild with CruiseControl. NAnt is used for script flow control and calls MSBuild to compile projects. After the physical build is triggered, NAnt is used to publish the individual project build outputs to a shared location. I am not sure this is the best process. I think … Read more

Best .NET build tool [duplicate]

We actually use a combination of NAnt and MSBuild with CruiseControl. NAnt is used for script flow control and calls MSBuild to compile projects. After the physical build is triggered, NAnt is used to publish the individual project build outputs to a shared location. I am not sure this is the best process. I think … Read more

ILMerge DLL: Assembly not merged in correctly, still listed as an external reference

I had to use the /closed argument. According to the official docs: Closed When this is set before calling Merge, then the “transitive closure” of the input assemblies is computed and added to the list of input assemblies. An assembly is considered part of the transitive closure if it is referenced, either directly or indirectly, … Read more