cloner
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>com.github.manishahluwalia</groupId>
<artifactId>cloner</artifactId>
<version>0.0.1</version>
</dependency><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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.github.manishahluwalia</groupId>
<artifactId>cloner</artifactId>
<version>0.0.1</version>
<name>Recursive Reflexive Cloner</name>
<description>A thread-safe scheme to:
- Make deep or shallow clones of objects. Based on either annotations or configuration
- Allow for subsets of fields to selectively be copied / or not copied depending on runtime constraints
- Optimizations for copying for GWT RPC</description>
<scm>
<connection>scm:git:git://github.com/manishahluwalia/${project.artifactId}.git</connection>
<developerConnection>scm:git:git@github.com/manishahluwalia/${project.artifactId}.git</developerConnection>
<url>https://github.com/manishahluwalia/${project.artifactId}</url>
</scm>
<issueManagement>
<url>https://github.com/manishahluwalia/${project.artifactId}/issues</url>
<system>Github Issues</system>
</issueManagement>
<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>ossrh</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
<licenses>
<license>
<name>Apache 2</name>
<url>http://www.apache.org/licenses/LICENSE-2.0</url>
</license>
</licenses>
<developers>
<developer>
<id>manish</id>
<name>Manish Ahluwalia</name>
<email>FIRSTNAME.LASTNAME@gmail.com</email>
<roles>
<role>developer</role>
</roles>
<timezone>-8</timezone>
</developer>
</developers>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.5</java.version>
<!-- Testing dependencies -->
<jmockit.version>1.14</jmockit.version>
<junit.version>4.12</junit.version>
<!-- Maven Plugins -->
<!-- GitHub Sites -->
<github.version>0.10</github.version>
<maven.compiler.plugin.version>3.2</maven.compiler.plugin.version>
<maven.eclipse.plugin.version>2.9</maven.eclipse.plugin.version>
<maven-deploy-plugin.version>2.8.1</maven-deploy-plugin.version>
<maven-gpg-plugin.version>1.4</maven-gpg-plugin.version>
<maven-javadoc-plugin.version>2.10.1</maven-javadoc-plugin.version>
<maven-site-plugin.version>3.4</maven-site-plugin.version>
<maven-site-plugin.skip>false</maven-site-plugin.skip>
<maven-source-plugin.version>2.2.1</maven-source-plugin.version>
<maven.resources.plugin.version>2.6</maven.resources.plugin.version>
</properties>
<dependencies>
<!-- These dependencies are for testing -->
<dependency>
<groupId>org.jmockit</groupId>
<artifactId>jmockit</artifactId>
<version>${jmockit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>${maven.eclipse.plugin.version}</version>
<configuration>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.compiler.plugin.version}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<compilerArgument>-Werror</compilerArgument>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${maven-source-plugin.version}</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.3</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
<inherited>true</inherited>
<configuration>
<maxmemory>2048</maxmemory>
<failOnError>true</failOnError>
<reportOutputDirectory>${project.build.directory}/staging</reportOutputDirectory>
<links>
<link>http://docs.oracle.com/javase/8/docs/api/</link>
<link>http://www.gwtproject.org/javadoc/latest/</link>
</links>
<excludes>
<exclude>**/*.txt</exclude>
</excludes>
<header>
<![CDATA[
]]>
</header>
</configuration>
<executions>
<execution>
<id>build-javadoc</id>
<phase>site</phase>
<goals>
<goal>aggregate</goal>
</goals>
</execution>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>${maven-site-plugin.version}</version>
<configuration>
<!-- skip>${maven-site-plugin.skip}</skip -->
<!-- skipDeploy>true</skipDeploy -->
</configuration>
<executions>
<execution>
<id>stage-site</id>
<phase>site</phase>
<goals>
<goal>attach-descriptor</goal>
<goal>stage</goal>
</goals>
</execution>
</executions>
</plugin>
<!--
run 'mvn site' to generate
run 'mvn com.github.github:site-maven-plugin:0.9:site -N' to upload
It's important to run github separately because it would commit every time a module is built -->
<plugin>
<groupId>com.github.github</groupId>
<artifactId>site-maven-plugin</artifactId>
<version>${github.version}</version>
<inherited>false</inherited>
<configuration>
<message>Creating site for ${project.version}</message>
<force>true</force>
<merge>true</merge>
<outputDirectory>${project.build.directory}/staging</outputDirectory>
<!-- github > sets the ~/.m2/setting.xml server id profile -->
<server>github</server>
<excludes>
<exclude>*.DS_Store</exclude>
<exclude>*.sh</exclude>
<exclude>options</exclude>
<exclude>packages</exclude>
</excludes>
</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.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<versionRange>[${gwt.version},)</versionRange>
<goals>
<goal>compile</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<url>https://github.com/manishahluwalia/${project.artifactId}</url>
</project>