1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
#!/usr/bin/make -f
GRADLE_TASKS = assemble startScripts docs
GRADLE_EXCLUDED_PROJECTS = distributions \
internalAndroidPerformanceTesting \
internalTesting \
internalIntegTesting \
internalPerformanceTesting
export GRADLE_VERSION = $(shell cat version.txt)
# Only for debug purpose
# export JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
# Under fakeroot Gradle will show error while creating /root/.gradle, hence
# specifying the Gradle home location.
# Excluding userguidePdf since PDF compiling using xhtmlrenderer requires the
# headful JDK installed.
# Excluding :killExistingDaemons since it runs /bin/ps which is not installed in
# a Buildd.
GRADLE_FLAGS = --project-prop finalRelease=true --offline --stacktrace \
--gradle-user-home debian/.gradlehome --no-daemon \
$(patsubst %,-x :%:assemble,$(GRADLE_EXCLUDED_PROJECTS)) \
-x :internalAndroidPerformanceTesting:renameAndroidTools \
-x :internalAndroidPerformanceTesting:jar \
-x userguidePdf -x :killExistingDaemons
# Support for DEB_BUILD_OPTIONS parallel=n
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
NUMTHREADS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
GRADLE_FLAGS += --parallel --max-workers=$(NUMTHREADS)
endif
%:
dh $@ --with maven_repo_helper,javahelper
override_dh_auto_build:
mkdir --parents buildSrc/src/main/java
# These symlinks are due to new APIs introduced in Gradle 3.1
ln -s ../../../../subprojects/dependency-management/src/main/java/org/gradle/api/internal/runtimeshaded/PackageListGenerator.java buildSrc/src/main/java/PackageListGenerator.java
ln -s ../../../../subprojects/dependency-management/src/main/java/org/gradle/api/internal/runtimeshaded/Trie.java buildSrc/src/main/java/Trie.java
ln -s ../../../../subprojects/core/src/main/java/org/gradle/api/tasks/OrderSensitive.java buildSrc/src/main/java/OrderSensitive.java
ln -s ../../../../subprojects/core/src/main/java/org/gradle/api/tasks/Classpath.java buildSrc/src/main/java/Classpath.java
gradle $(GRADLE_TASKS) $(GRADLE_FLAGS)
pandoc -s -o debian/gradle.1 debian/gradle.1.md
override_dh_auto_clean:
dh_auto_clean
find . -wholename .*build/generated-resources | xargs echo | sed -e 's^build/generated-resources^build^g' | xargs rm -Rf
rm -r -f .gradle debian/.gradlehome buildSrc/.gradle buildSrc/build build
rm -r -f debian/gradle.1 subprojects/distributions/build
$(RM) -r buildSrc/src/main/java
override_dh_install:
dh_install
# Remove lintian warning zero-byte-file-in-doc-directory
rm debian/gradle-doc/usr/share/doc/gradle/dsl/dsl-standalone.html
rm debian/gradle-doc/usr/share/doc/gradle/dsl/sidebar.js
get-orig-source:
uscan --download-current-version --force-download --repack --compression xz
# since gradle build-depends on itself, a way to generate a deb from upstream
# binary distribution is provided with this target. With the resulting .deb,
# gradle can be rebuilt from source.
bootstrap:
cd $(dir $(firstword $(MAKEFILE_LIST)))../ && \
./debian/bootstrap.sh
|