METAGEN-101 Adding release tasks and removing pom.xml

This commit is contained in:
Hardy Ferentschik 2013-10-22 16:32:38 +02:00 committed by Strong Liu
parent fdbfbd03ec
commit 4ba59c529f
2 changed files with 64 additions and 398 deletions

View File

@ -5,6 +5,7 @@ apply plugin: 'maven-publish'
apply plugin: 'maven-publish-auth' apply plugin: 'maven-publish-auth'
apply plugin: 'jdocbook' apply plugin: 'jdocbook'
apply plugin: 'checkstyle' apply plugin: 'checkstyle'
apply plugin: 'distribution'
task wrapper(type: Wrapper) { task wrapper(type: Wrapper) {
gradleVersion = '1.7' gradleVersion = '1.7'
@ -169,8 +170,7 @@ checkstyleMain.exclude '**/jaxb/**'
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Javadocs // Javadocs
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
final File documentationDir = mkdir( new File( project.buildDir, 'documentation' ) ); final File javadocDir = mkdir( new File( project.buildDir, 'javadocs/api' ) );
final File javadocDir = mkdir( new File( documentationDir, 'javadocs' ) );
final int copyrightYear = new GregorianCalendar().get( Calendar.YEAR ); final int copyrightYear = new GregorianCalendar().get( Calendar.YEAR );
task javadocs(type: Javadoc) { task javadocs(type: Javadoc) {
source = sourceSets.main.allJava source = sourceSets.main.allJava
@ -318,7 +318,68 @@ artifacts {
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Release // Release
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
distributions {
main {
baseName = 'hibernate-jpamodelgen-dist'
contents {
from rootProject.file( 'README.md' )
from rootProject.file( 'license.txt' )
from rootProject.file( 'changelog.txt' )
into('lib') {
configurations.archives.allArtifacts
}
// javadocs
into('docs/api') {
from javadocDir
}
// docbook
into('docs/reference') {
from "${buildDir}/docbook/publish/manual/en-US"
}
into( 'project' ) {
from ( rootProject.projectDir ) {
exclude( '.git' )
exclude( '.gitignore' )
exclude( 'README.md')
exclude( 'changelog.txt' )
exclude( 'license.txt' )
exclude( 'gradle' )
exclude( 'gradlew' )
exclude( 'gradlew.bat' )
exclude( 'wrapper/*' )
exclude( '**/.gradle/**' )
exclude( '**/target/**' )
exclude( '.idea' )
exclude( '**/*.ipr' )
exclude( '**/*.iml' )
exclude( '**/*.iws' )
exclude( '**/atlassian-ide-plugin.xml' )
exclude( '**/.classpath' )
exclude( '**/.project' )
exclude( '**/.settings' )
}
}
}
}
}
distZip.dependsOn build,javadocs,buildDocs
distTar.dependsOn build,javadocs,buildDocs
distTar {
compression = Compression.GZIP
}
task buildBundles(type: Task, dependsOn: [distZip,distTar]) {
description = "Builds all release bundles"
}
task release(dependsOn: [publish,buildBundles]) {
description = "Execute all release tasks"
}

View File

@ -1,395 +0,0 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-jpamodelgen</artifactId>
<version>1.4.0-SNAPSHOT</version>
<name>Hibernate JPA 2 Metamodel Generator</name>
<description>Annotation Processor to generate JPA 2 static metamodel classes</description>
<url>http://www.hibernate.org/subprojects/jpamodelgen.html</url>
<inceptionYear>2009</inceptionYear>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
<issueManagement>
<system>JIRA</system>
<url>http://opensource.atlassian.com/projects/hibernate/browse/METAGEN</url>
</issueManagement>
<scm>
<connection>scm:git:git://github.com/hibernate/hibernate-metamodelgen.git</connection>
<developerConnection>scm:git:git@github.com:hibernate/hibernate-metamodelgen.git</developerConnection>
<url>http://github.com/hibernate/hibernate-metamodelgen</url>
<tag>HEAD</tag>
</scm>
<distributionManagement>
<repository>
<id>jboss-releases-repository</id>
<name>JBoss Releases Repository</name>
<url>https://repository.jboss.org/nexus/service/local/staging/deploy/maven2/</url>
</repository>
<snapshotRepository>
<id>jboss-snapshots-repository</id>
<name>JBoss Snapshots Repository</name>
<url>https://repository.jboss.org/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
<developers>
<developer>
<id>epbernard</id>
<name>Emmanuel Bernard</name>
<email>emmanuel@hibernate.org</email>
<url>http://in.relation.to/Bloggers/Emmanuel</url>
</developer>
<developer>
<id>hardy.ferentschik</id>
<name>Hardy Ferentschik</name>
<email>hferents@redhat.com</email>
<organization>JBoss, a division of Red Hat</organization>
<url>http://in.relation.to/Bloggers/Hardy</url>
</developer>
<developer>
<id>max.andersen@jboss.com</id>
<name>Max Andersen</name>
<email>max.andersen@redhat.com</email>
<url>http://in.relation.to/Bloggers/Max</url>
</developer>
</developers>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
<version>1.0.1.Final</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.2.3.Final</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<defaultGoal>test</defaultGoal>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/xsd</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.3.1</version>
<executions>
<execution>
<id>enforce-java</id>
<goals>
<goal>enforce</goal>
</goals>
</execution>
</executions>
<configuration>
<rules>
<requireJavaVersion>
<!-- require JDK 1.6 to run the build -->
<version>[1.6,)</version>
</requireJavaVersion>
</rules>
</configuration>
</plugin>
<plugin>
<groupId>org.jboss.maven.plugins</groupId>
<artifactId>maven-injection-plugin</artifactId>
<version>1.0.2</version>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>bytecode</goal>
</goals>
</execution>
</executions>
<configuration>
<bytecodeInjections>
<bytecodeInjection>
<expression>${project.version}</expression>
<targetMembers>
<methodBodyReturn>
<className>org.hibernate.jpamodelgen.Version</className>
<methodName>getVersionString</methodName>
</methodBodyReturn>
</targetMembers>
</bytecodeInjection>
</bytecodeInjections>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<compilerArgument>-proc:none</compilerArgument>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<goals>
<goal>xjc</goal>
</goals>
</execution>
</executions>
<configuration>
<schemaFiles>orm_2_1.xsd,persistence_2_1.xsd</schemaFiles>
<packageName>org.hibernate.jpamodelgen.xml.jaxb</packageName>
<outputDirectory>${basedir}/target/generated-sources</outputDirectory>
<extension>true</extension>
</configuration>
<dependencies>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.2.9</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.2.7</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.15</version>
<configuration>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<systemProperties>
<property>
<name>sourceBaseDir</name>
<value>${basedir}/src/test/java</value>
</property>
<property>
<name>outBaseDir</name>
<value>${basedir}/target/test-classes</value>
</property>
</systemProperties>
<suiteXmlFiles>
<suiteXmlFile>${basedir}/src/test/suite/unit-tests.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.15</version>
<executions>
<execution>
<id>generate-test-report</id>
<phase>test</phase>
<goals>
<goal>report-only</goal>
</goals>
</execution>
</executions>
<configuration>
<outputDirectory>${project.build.directory}/surefire-reports</outputDirectory>
<outputName>test-report</outputName>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifestEntries>
<Created-By>${java.version} (${java.vendor})</Created-By>
<Implementation-Title>${project.name}</Implementation-Title>
<Implementation-URL>http://www.jboss.org/</Implementation-URL>
<Implementation-Version>${project.version}</Implementation-Version>
<Implementation-Vendor>JBoss by Red Hat, Inc.</Implementation-Vendor>
<Implementation-Vendor-Id>http://www.jboss.org/</Implementation-Vendor-Id>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptors>
<descriptor>src/main/assembly/dist.xml</descriptor>
</descriptors>
</configuration>
</plugin>
<plugin>
<groupId>org.jboss.maven.plugins</groupId>
<artifactId>maven-jdocbook-plugin</artifactId>
<version>2.3.8</version>
<extensions>true</extensions>
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-jdocbook-style</artifactId>
<version>2.0.1</version>
<type>jdocbook-style</type>
</dependency>
</dependencies>
<configuration>
<sourceDocumentName>master.xml</sourceDocumentName>
<sourceDirectory>${basedir}/src/main/docbook/manual</sourceDirectory>
<masterTranslation>en-US</masterTranslation>
<imageResource>
<directory>${basedir}/src/main/docbook/manual/en-US/images</directory>
</imageResource>
<formats>
<format>
<formatName>pdf</formatName>
<stylesheetResource>classpath:/xslt/org/hibernate/jdocbook/xslt/pdf.xsl</stylesheetResource>
<finalName>hibernate-metamodel-generator-reference.pdf</finalName>
</format>
<format>
<formatName>html_single</formatName>
<stylesheetResource>classpath:/xslt/org/hibernate/jdocbook/xslt/xhtml-single.xsl
</stylesheetResource>
<finalName>index.html</finalName>
</format>
<format>
<formatName>html</formatName>
<stylesheetResource>classpath:/xslt/org/hibernate/jdocbook/xslt/xhtml.xsl
</stylesheetResource>
<finalName>index.html</finalName>
</format>
</formats>
<options>
<xincludeSupported>true</xincludeSupported>
<xmlTransformerType>saxon</xmlTransformerType>
<!-- needed for uri-resolvers; can be ommitted if using 'current' uri scheme -->
<!-- could also locate the docbook dependency and inspect its version... -->
<docbookVersion>1.72.0</docbookVersion>
<localeSeparator>-</localeSeparator>
</options>
</configuration>
<executions>
<execution>
<id>make-doc</id>
<phase>site</phase>
<goals>
<goal>resources</goal>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.7</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<autoVersionSubmodules>true</autoVersionSubmodules>
<allowTimestampedSnapshots>true</allowTimestampedSnapshots>
<tagNameFormat>@{project.version}</tagNameFormat>
<goals>package deploy javadoc:javadoc org.jboss.maven.plugins:maven-jdocbook-plugin:2.3.8:resources
org.jboss.maven.plugins:maven-jdocbook-plugin:2.3.8:generate assembly:assembly
</goals>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.jboss.maven.plugins</groupId>
<artifactId>maven-injection-plugin</artifactId>
<versionRange>[1.0.2,)</versionRange>
<goals>
<goal>bytecode</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>