[android-platform-tools-base] 24/30: Generate Class-Paths for the Java programs and store them in /usr/share/doc/android-platform-tools-base
Kai-Chung Yan
seamlik-guest at moszumanska.debian.org
Fri Jul 22 10:33:54 UTC 2016
This is an automated email from the git hooks/post-receive script.
seamlik-guest pushed a commit to branch master
in repository android-platform-tools-base.
commit 78ac018a02e378484317ebaabecb245b77e39d4b
Author: Kai-Chung Yan <seamlikok at gmail.com>
Date: Fri Jul 22 17:11:41 2016 +0800
Generate Class-Paths for the Java programs and store them in /usr/share/doc/android-platform-tools-base
---
debian/android-platform-tools-base.docs | 2 ++
debian/android-platform-tools-base.links | 9 +++++---
debian/android-platform-tools-base.poms | 2 +-
debian/control | 29 ++++++++++++++++++++++++-
debian/debian.gradle | 37 +++++++++++++++++++++++++++++---
debian/patches/build.gradle.patch | 13 +++++++----
debian/patches/series | 1 +
debian/patches/set_classpaths.patch | 34 +++++++++++++++++++++++++++++
8 files changed, 115 insertions(+), 12 deletions(-)
diff --git a/debian/android-platform-tools-base.docs b/debian/android-platform-tools-base.docs
new file mode 100644
index 0000000..84920ec
--- /dev/null
+++ b/debian/android-platform-tools-base.docs
@@ -0,0 +1,2 @@
+lint/cli/build/lint.classpaths
+misc/screenshot2/build/screenshot2.classpaths
\ No newline at end of file
diff --git a/debian/android-platform-tools-base.links b/debian/android-platform-tools-base.links
index a5c426e..50ab382 100644
--- a/debian/android-platform-tools-base.links
+++ b/debian/android-platform-tools-base.links
@@ -1,3 +1,6 @@
-usr/lib/android-sdk/tools/draw9patch usr/bin/draw9patch
-usr/lib/android-sdk/tools/lint usr/bin/lint
-usr/lib/android-sdk/tools/screenshot2 usr/bin/screenshot2
\ No newline at end of file
+usr/lib/android-sdk/tools/draw9patch usr/bin/draw9patch
+usr/lib/android-sdk/tools/lint usr/bin/lint
+usr/lib/android-sdk/tools/screenshot2 usr/bin/screenshot2
+usr/share/java/com.android.tools.draw9patch.jar usr/lib/android-sdk/tools/lib/draw9patch.jar
+usr/share/java/com.android.tools.screenshot2.jar usr/lib/android-sdk/tools/lib/screenshot2.jar
+usr/share/java/com.android.tools.lint.lint.jar usr/lib/android-sdk/tools/lib/lint.jar
\ No newline at end of file
diff --git a/debian/android-platform-tools-base.poms b/debian/android-platform-tools-base.poms
index 392bd53..436081b 100644
--- a/debian/android-platform-tools-base.poms
+++ b/debian/android-platform-tools-base.poms
@@ -4,7 +4,7 @@ device_validator/dvlib/build/dvlib.pom --java-lib --artifact=device_validat
draw9patch/build/draw9patch.pom --java-lib --artifact=draw9patch/build/libs/*.jar --usj-name=com.android.tools.draw9patch
layoutlib-api/build/layoutlib-api.pom --java-lib --artifact=layoutlib-api/build/libs/*.jar --usj-name=com.android.tools.layoutlib.layoutlib-api
legacy/archquery/build/archquery.pom --java-lib --artifact=legacy/archquery/build/libs/*.jar --usj-name=com.android.tools.archquery
-lint/cli/build/lint.pom --java-lib --artifact=lint/cli/build/libs/*.jar --usj-name=com.android.tools.lint
+lint/cli/build/lint.pom --java-lib --artifact=lint/cli/build/libs/*.jar --usj-name=com.android.tools.lint.lint
lint/libs/lint-api/build/lint-api.pom --java-lib --artifact=lint/libs/lint-api/build/libs/*.jar --usj-name=com.android.tools.lint.lint-api
lint/libs/lint-checks/build/lint-checks.pom --java-lib --artifact=lint/libs/lint-checks/build/libs/*.jar --usj-name=com.android.tools.lint.lint-checks
misc/screenshot2/build/screenshot2.pom --java-lib --artifact=misc/screenshot2/build/libs/*.jar --usj-name=com.android.tools.screenshot2
diff --git a/debian/control b/debian/control
index 807ebad..b45ad07 100644
--- a/debian/control
+++ b/debian/control
@@ -8,7 +8,7 @@ Uploaders:
Build-Depends:
antlr3,
debhelper (>= 9),
- default-jdk,
+ default-jdk (>= 1:1.6),
gradle-debian-helper,
groovy,
junit4,
@@ -38,7 +38,24 @@ Homepage: https://android.googlesource.com/platform/tools/base/
Package: android-platform-tools-base
Architecture: all
Depends:
+ default-jre-headless (>= 1:1.6) | java6-runtime-headless,
+ libandroid-tools-annotations-java (>= ${binary:Version}),
+ libandroid-tools-common-java (>= ${binary:Version}),
+ libasm4-java,
+ libcommons-compress-java,
+ libbcpkix-java,
+ libbcprov-java,
+ libecj-java,
+ libgoogle-gson-java,
+ libguava-java,
+ libhttpclient-java,
+ libhttpcore-java,
+ libhttpmime-java,
+ libintellij-annotations-java,
+ libkxml2-java,
+ liblombok-ast-java,
${misc:Depends}
+Suggest: default-jre
Description: base tools for developing applications for the Android system
This package includes various tools for developing and building Android
applications, e.g.
@@ -56,6 +73,9 @@ Description: base tools for developing applications for the Android system
Android Studio is not installed (such as continuous integration servers).
.
* Various Java libraries used by Android SDK.
+ .
+ default-jre or other non-headless JRE needs to be installed in order to run
+ "draw9patch". However draw9patch fails to run due to bug #798794.
Package: libandroid-tools-annotations-java
Architecture: all
@@ -76,6 +96,13 @@ Description: common library used by other Android tools libraries
Package: libgradle-android-plugin-java
Architecture: all
Depends: android-platform-tools-base,
+ antlr3,
+ antlr4,
+ libandroid-databinding-java,
+ libjavawriter-java,
+ libgradle-core-java,
+ libgradle-plugins-java,
+ proguard,
${misc:Depends}
Breaks: android-platform-tools-base (<< 2.0.0-1)
Replaces: android-platform-tools-base (<< 2.0.0-1)
diff --git a/debian/debian.gradle b/debian/debian.gradle
index d93535c..d938635 100644
--- a/debian/debian.gradle
+++ b/debian/debian.gradle
@@ -1,5 +1,11 @@
apply plugin: 'maven'
+def pomFilePath = "${buildDir}/${project.name}.pom"
+def classpathsFilePath = "${buildDir}/${project.name}.classpaths"
+
+/* ********************
+ * Task generatePom *
+ **********************/
/* No idea why adding any tasks with wahtever name would make Gradle complain
that this task exists. Therefore I have to set the "overwrite". */
task generatePom(overwrite: true) {
@@ -30,9 +36,34 @@ task generatePom(overwrite: true) {
}.writeTo("${buildDir}/${project.name}.pom")
}
}
+clean.doLast { delete pomFilePath }
+assemble.dependsOn generatePom
-clean.doLast {
- delete "${buildDir}/${project.name}.pom"
+/***************************
+ * Task generateClasspaths *
+ ***************************/
+task generateClasspaths(overwrite: true) {
+ outputs.files classpathsFilePath
+ doFirst {
+ mkdir buildDir
+ def classpathsFile = file(classpathsFilePath)
+ classpathsFile.createNewFile()
+ classpathsFile.write(
+ configurations.runtime.collect {
+ if (it.path.startsWith('/usr/share/')) {
+ it.path
+ } else {
+ "/usr/share/java/${it.name}"
+ }
+ }.toSorted().join(':')
+ )
+ }
}
+clean.doLast { delete classpathsFilePath }
+assemble.dependsOn generateClasspaths
-assemble.dependsOn generatePom
\ No newline at end of file
+/* Not sure this file is included before or after when each project sets their
+ "archivesBaseName". For insurance, do it after the evaluation completed. */
+afterEvaluate {
+ jar.baseName = "${group}.${archivesBaseName}"
+}
\ No newline at end of file
diff --git a/debian/patches/build.gradle.patch b/debian/patches/build.gradle.patch
index d0995ee..f416055 100644
--- a/debian/patches/build.gradle.patch
+++ b/debian/patches/build.gradle.patch
@@ -310,7 +310,7 @@ Description: Patch upstream's build system for Debian.
group = 'com.android.tools'
archivesBaseName = 'draw9patch'
-@@ -15,16 +15,3 @@
+@@ -15,16 +15,4 @@
test.resources.srcDir 'src/test/java'
}
@@ -327,6 +327,8 @@ Description: Patch upstream's build system for Debian.
-}
-
-sdkJar.manifest.attributes("Main-Class": "com.android.draw9patch.Application")
++jar.manifest.attributes("Main-Class": "com.android.draw9patch.Application")
+\ No newline at end of file
--- a/jack/jack-api/build.gradle
+++ b/jack/jack-api/build.gradle
@@ -17,9 +17,6 @@
@@ -365,7 +367,7 @@ Description: Patch upstream's build system for Debian.
// configure the manifest of the sdkJar task
-sdkJar.manifest.attributes("Main-Class": "com.android.jobb.Main")
-
+-
-sdk {
- linux {
- item('etc/jobb') { executable true }
@@ -377,6 +379,7 @@ Description: Patch upstream's build system for Debian.
- item 'etc/jobb.bat'
- }
-}
++jar.manifest.attributes("Main-Class": "com.android.jobb.Main")
--- a/layoutlib-api/build.gradle
+++ b/layoutlib-api/build.gradle
@@ -1,6 +1,6 @@
@@ -418,7 +421,7 @@ Description: Patch upstream's build system for Debian.
group = 'com.android.tools.lint'
archivesBaseName = 'lint'
-@@ -20,24 +20,10 @@
+@@ -20,24 +20,11 @@
maxParallelForks = Runtime.runtime.availableProcessors() / 2
}
@@ -437,6 +440,7 @@ Description: Patch upstream's build system for Debian.
// configure the manifest of the sdkJar task.
-sdkJar.manifest.attributes("Main-Class": "com.android.tools.lint.Main")
++jar.manifest.attributes("Main-Class": "com.android.tools.lint.Main")
project.ext.pomName = 'Android Lint Tool'
project.ext.pomDesc = 'Lint tools. Both a Command line tool and a library to add lint features to other tools'
@@ -489,7 +493,7 @@ Description: Patch upstream's build system for Debian.
group = 'com.android.tools'
archivesBaseName = 'screenshot2'
-@@ -9,14 +9,3 @@
+@@ -9,14 +9,4 @@
compile project(':base:ddmlib')
}
@@ -504,6 +508,7 @@ Description: Patch upstream's build system for Debian.
-
-// configure the manifest of the sdkJar task.
-sdkJar.manifest.attributes("Main-Class": "com.android.screenshot.Screenshot")
++jar.manifest.attributes("Main-Class": "com.android.screenshot.Screenshot")
--- a/sdk-common/build.gradle
+++ b/sdk-common/build.gradle
@@ -1,6 +1,5 @@
diff --git a/debian/patches/series b/debian/patches/series
index 9a84697..c6c8f90 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -6,3 +6,4 @@ trove3.patch
libhttpcore-java-ThreadSafe.patch
exclude_instant-run.patch
disable_jacoco.patch
+set_classpaths.patch
diff --git a/debian/patches/set_classpaths.patch b/debian/patches/set_classpaths.patch
new file mode 100644
index 0000000..df66628
--- /dev/null
+++ b/debian/patches/set_classpaths.patch
@@ -0,0 +1,34 @@
+Author: Kai-Chung Yan
+Last-Update: 2016-07-22
+Description: Set Class-Paths
+ Class-Paths are generated by Gradle and stored in
+ /usr/share/doc/{package}/{program}.classpaths for use in launcher scripts.
+ This patch makes the upstream scripts use those Class-Paths.
+--- a/misc/screenshot2/etc/screenshot2
++++ b/misc/screenshot2/etc/screenshot2
+@@ -69,6 +69,9 @@
+ jarpath="$frameworkdir/$jarfile"
+ fi
+
++classpaths=`cat /usr/share/doc/android-platform-tools-base/screenshot2.classpaths`:$jarpath
++mainclass=com.android.screenshot.Screenshot
++
+ # need to use "java.ext.dirs" because "-jar" causes classpath to be ignored
+ # might need more memory, e.g. -Xmx128M
+-exec java -Xmx128M $os_opts $java_debug -Djava.ext.dirs="$frameworkdir" -Djava.library.path="$libdir" -Dcom.android.screenshot.bindir="$progdir" -jar "$jarpath" "$@"
++exec java -Xmx128M $os_opts $java_debug -Djava.ext.dirs="$frameworkdir" -Djava.library.path="$libdir" -Dcom.android.screenshot.bindir="$progdir" -classpath "$classpaths" "$mainclass" "$@"
+--- a/lint/cli/etc/lint
++++ b/lint/cli/etc/lint
+@@ -65,9 +65,11 @@
+
+ jarpath="$frameworkdir/$jarfile"
+
++classpaths=`cat /usr/share/doc/android-platform-tools-base/lint.classpaths`:$jarpath
++
+ exec "$javaCmd" \
+ -Xmx1024m $os_opts $java_debug \
+ -Dcom.android.tools.lint.bindir="$progdir" \
+ -Djava.awt.headless=true \
+- -classpath "$jarpath" \
++ -classpath "$classpaths" \
+ com.android.tools.lint.Main "$@"
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/android-platform-tools-base.git
More information about the pkg-java-commits
mailing list