Skip to content

Commit 93fd3ef

Browse files
author
Devendra
committed
build file changes for adding android to maven
1 parent d5f3ca3 commit 93fd3ef

File tree

2 files changed

+183
-1
lines changed

2 files changed

+183
-1
lines changed

android/build.xml

Lines changed: 144 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2-
<project basedir="." default="build-all" name="PubnubApi">
2+
<project basedir="." default="build-all" name="PubnubApi" xmlns:artifact="antlib:org.apache.maven.artifact.ant">
33
<property environment="env"/>
44
<loadfile property="VERSION" srcFile="../VERSION"><filterchain><striplinebreaks/></filterchain></loadfile>
55
<property name="pubnub_lib_jar" value="Pubnub-Android-${VERSION}.jar"/>
@@ -10,6 +10,21 @@
1010
<property name="src_logging_path" value="./srcLogging"/>
1111
<property name="src_android_path" value="./src"/>
1212
<property name="android_jar_path" value="jars"/>
13+
14+
<property name="srcPubnubApi.link" value="../java/srcPubnubApi"/>
15+
<property name="sources_pubnub_api" value="${srcPubnubApi.link}/com/pubnub/api"/>
16+
<property name="sources_pubnub_logging" value="srcLogging/com/pubnub/api"/>
17+
<property name="sources_pubnub_java1" value="../java/src1/com/pubnub/api"/>
18+
<property name="sources_pubnub_java" value="src/com/pubnub/api"/>
19+
20+
<path id="PubnubApi.classpath">
21+
<pathelement location="bin"/>
22+
<pathelement location="../java/libs/bcprov-jdk15on-1.47.jar"/>
23+
<pathelement location="libs/android-8.jar"/>
24+
</path>
25+
26+
27+
1328
<property name="target" value="1.5"/>
1429
<property name="source" value="1.5"/>
1530
<path id="classpath">
@@ -89,4 +104,132 @@
89104
<include name="**/*.java"/>
90105
</replace>
91106
</target>
107+
108+
109+
110+
<property name="src" location="src" />
111+
<property name="maven" location="maven" />
112+
<property name="build" location="build" />
113+
<property name="dist" location="dist" />
114+
115+
<xmlproperty file="pom.xml" keepRoot="false" semanticAttributes="true"/>
116+
117+
<property name="maven-jar" value="${dist}/lib/${artifactId}-${version}.jar" />
118+
<property name="maven-javadoc-jar" value="${dist}/lib/${artifactId}-${version}-javadoc.jar" />
119+
<property name="maven-sources-jar" value="${dist}/lib/${artifactId}-${version}-sources.jar" />
120+
121+
<property name="maven-staging-repository-id" value="sonatype-nexus-staging" />
122+
<property name="maven-staging-repository-url" value="https://oss.sonatype.org/service/local/staging/deploy/maven2/" />
123+
124+
<target name="debug-compile" description="compile the source with logging and debug">
125+
<replace dir="${maven}/src" token="boolean LOGGING = false" value="boolean LOGGING = true">
126+
<include name="**/*.java"/>
127+
</replace>
128+
<javac debug="${debug}" srcdir="${maven}/src" destdir="${build}" >
129+
<classpath refid="PubnubApi.classpath"/>
130+
</javac>
131+
<replace dir="${maven}/src" token="boolean LOGGING = true" value="boolean LOGGING = false">
132+
<include name="**/*.java"/>
133+
</replace>
134+
</target>
135+
<target name="compile" description="compile the source ">
136+
<javac debug="${debug}" srcdir="${maven}/src" destdir="${build}" >
137+
<classpath refid="PubnubApi.classpath"/>
138+
</javac>
139+
</target>
140+
141+
142+
<target name="dist" depends="compile" description="generate the distribution">
143+
144+
<jar jarfile="${maven-jar}" basedir="${build}" />
145+
146+
<javadoc sourcepath="${maven}/src" destdir="${dist}/javadoc" >
147+
<classpath refid="PubnubApi.classpath"/>
148+
</javadoc>
149+
<jar jarfile="${maven-javadoc-jar}">
150+
<fileset dir="${dist}/javadoc" />
151+
</jar>
152+
153+
<jar jarfile="${maven-sources-jar}">
154+
<fileset dir="${maven}/src" />
155+
</jar>
156+
</target>
157+
158+
159+
<target name="stage" depends="dist" description="deploy release version to Maven staging repository">
160+
<artifact:mvn>
161+
<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.3:sign-and-deploy-file" />
162+
<arg value="-Durl=${maven-staging-repository-url}" />
163+
<arg value="-DrepositoryId=${maven-staging-repository-id}" />
164+
<arg value="-DpomFile=pom.xml" />
165+
<arg value="-Dfile=${maven-jar}" />
166+
<arg value="-Pgpg" />
167+
</artifact:mvn>
168+
169+
<artifact:mvn>
170+
<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.3:sign-and-deploy-file" />
171+
<arg value="-Durl=${maven-staging-repository-url}" />
172+
<arg value="-DrepositoryId=${maven-staging-repository-id}" />
173+
<arg value="-DpomFile=pom.xml" />
174+
<arg value="-Dfile=${maven-sources-jar}" />
175+
<arg value="-Dclassifier=sources" />
176+
<arg value="-Pgpg" />
177+
</artifact:mvn>
178+
179+
<artifact:mvn>
180+
<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.3:sign-and-deploy-file" />
181+
<arg value="-Durl=${maven-staging-repository-url}" />
182+
<arg value="-DrepositoryId=${maven-staging-repository-id}" />
183+
<arg value="-DpomFile=pom.xml" />
184+
<arg value="-Dfile=${maven-javadoc-jar}" />
185+
<arg value="-Dclassifier=javadoc" />
186+
<arg value="-Pgpg" />
187+
</artifact:mvn>
188+
</target>
189+
190+
<target name="maven_clean" description="clean up">
191+
<delete dir="${build}" />
192+
<delete dir="${dist}" />
193+
<delete dir="${maven}" />
194+
<delete file="pom.xml.asc" />
195+
</target>
196+
197+
<target name="push_to_maven_central" >
198+
<mkdir dir="${build}" />
199+
<mkdir dir="${maven}/src/com/pubnub/api" />
200+
<copy todir="${maven}/src/com/pubnub/api" >
201+
<fileset dir="${sources_pubnub_java}" />
202+
<fileset dir="${sources_pubnub_java1}" />
203+
<fileset dir="${sources_pubnub_logging}" />
204+
<fileset dir="${sources_pubnub_api}" />
205+
</copy>
206+
<mkdir dir="${dist}/lib" />
207+
<antcall target="stage"/>
208+
<antcall target="maven_clean"/>
209+
</target>
210+
211+
<target name="push_debug_to_maven_central" >
212+
<mkdir dir="${build}" />
213+
<mkdir dir="${maven}/src/com/pubnub/api" />
214+
<copy todir="${maven}/src/com/pubnub/api" >
215+
<fileset dir="${sources_pubnub_java}" />
216+
<fileset dir="${sources_pubnub_java1}" />
217+
<fileset dir="${sources_pubnub_logging}" />
218+
<fileset dir="${sources_pubnub_api}" />
219+
</copy>
220+
<replace dir="${maven}/src" token="boolean LOGGING = false" value="boolean LOGGING = true">
221+
<include name="**/*.java"/>
222+
</replace>
223+
<replace dir="." token="artifactId>pubnub-android" value="artifactId>pubnub-android-debug">
224+
<include name="**/pom.xml"/>
225+
</replace>
226+
<mkdir dir="${dist}/lib" />
227+
<antcall target="stage">
228+
<param name="debug" value="true" />
229+
</antcall>
230+
<antcall target="maven_clean"/>
231+
<replace dir="." token="artifactId>pubnub-android-debug" value="artifactId>pubnub-android">
232+
<include name="**/pom.xml"/>
233+
</replace>
234+
</target>
92235
</project>

android/pom.xml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<?xml version="1.0"?>
2+
<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">
3+
<modelVersion>4.0.0</modelVersion>
4+
5+
<groupId>com.pubnub</groupId>
6+
<artifactId>pubnub-android</artifactId>
7+
<version>3.7.1</version>
8+
9+
<packaging>jar</packaging>
10+
<name>pubnub-android</name>
11+
<description>PubNub is a cross-platform client-to-client (1:1 and 1:many) push service in the cloud, capable of broadcasting real-time messages to millions of web and mobile clients simultaneously, in less than a quarter second!</description>
12+
<url>https://github.com/pubnub/java</url>
13+
<licenses>
14+
<license>
15+
<url>https://github.com/pubnub/pubnub-api/blob/master/LICENSE</url>
16+
<distribution>repo</distribution>
17+
</license>
18+
</licenses>
19+
<scm>
20+
<url>https://github.com/pubnub/java</url>
21+
<connection>scm:git:git://github.com/pubnub/java.git</connection>
22+
</scm>
23+
<developers>
24+
<developer>
25+
<id>pubnub-android</id>
26+
<name>Pubnub Inc.</name>
27+
<email>support@pubnub.com</email>
28+
<url>http://www.pubnub.com</url>
29+
</developer>
30+
</developers>
31+
32+
<dependencies>
33+
<dependency>
34+
<groupId>org.bouncycastle</groupId>
35+
<artifactId>bcprov-jdk16</artifactId>
36+
<version>1.46</version>
37+
</dependency>
38+
</dependencies>
39+
</project>

0 commit comments

Comments
 (0)