File: rules

package info (click to toggle)
gradle 4.4.1-22
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 85,488 kB
  • sloc: java: 319,990; xml: 14,356; javascript: 4,838; cpp: 4,200; ansic: 1,025; sh: 303; makefile: 66; asm: 17; jsp: 17; objc: 10
file content (100 lines) | stat: -rwxr-xr-x 4,528 bytes parent folder | download | duplicates (2)
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#!/usr/bin/make -f

GRADLE_TASKS = assemble startScripts
GRADLE_EXCLUDED_PROJECTS = distributions \
                           internalTesting \
                           internalIntegTesting \
                           internalPerformanceTesting \
                           integTest \
                           performance \
                           smokeTest \
                           soak
export GRADLE_VERSION = $(shell cat version.txt)

# For building Gradle 4 using Gradle 3
GRADLE_COMPAT_BUILDSRC_SOURCE = \
  subprojects/core-api/src/main/java/org/gradle/api/file/Directory.java \
  subprojects/core-api/src/main/java/org/gradle/api/file/DirectoryProperty.java \
  subprojects/core-api/src/main/java/org/gradle/api/file/FileSystemLocation.java \
  subprojects/core-api/src/main/java/org/gradle/api/file/RegularFile.java \
  subprojects/core-api/src/main/java/org/gradle/api/file/RegularFileProperty.java \
  subprojects/core-api/src/main/java/org/gradle/api/NonNullApi.java \
  subprojects/core-api/src/main/java/org/gradle/api/provider/Property.java \
  subprojects/core-api/src/main/java/org/gradle/api/provider/Provider.java \
  subprojects/core/src/main/java/org/gradle/api/internal/file/TaskFileVarFactory.java \

# 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.
GRADLE_FLAGS = --project-prop finalRelease=true --offline --stacktrace \
               --gradle-user-home debian/.gradlehome --no-daemon \
               -Dgradle-debian-helper.hook.enabled=false \
               $(patsubst %,-x :%:assemble,$(GRADLE_EXCLUDED_PROJECTS))

# 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

debian/gradle.1: debian/gradle.pod
	touch -d@$(SOURCE_DATE_EPOCH) $<
	pod2man --errors=stderr --utf8 -r "Gradle $(GRADLE_VERSION)" -c "Gradle Command Line Manual" $< > $@

debian/gradle.pod: debian/gradle.pod.in
	sed '/@GENERATED@/,$$d' $< > $@
	# process items: `-?`, `-h`, `--help`:: → =item `-?`, `-h`, `--help`
	# process bold: `-?` → B<-?>
	# remove empty line markers
	# drop text from links: https://gradle.com/build-scans[...]
	# drop underscores from documentation links
	# replace documentation links by UPPERCASE LABELS
	# ... but not those where the link is in a middle of a sentence
	# ... since otherwise it breaks the sentence structure
	# ... so just make it *bold* instead
	# move parethesed option "(comments)" outside of the bold parts
	# cut off everything after and including the [[daemon_cli]] section
	# cut off the introduction
	sed \
		-e 's/\(.*\):: *$$/\n=item \1\n/' \
		-e 's/`\([^`]*\)`/B<\1>/g' \
		-e 's/^+$$//g' \
		-e 's/\(https:[^[]*\)[[][^]]*\]/L<\1>/g' \
		-e '/<<sec:[^>]*>>/y/_/ /' \
		-e 's/\([Tt]he\) <<sec:\([^>]*\)>>/\1 documentation section B<\U\2\E>/g' \
		-e 's/<<sec:\([^>]*\)>>/the documentation section B<\U\1\E>/g' \
		-e '/<<[^>]*>>/y/_/ /' \
		-e 's/<<.[^,]*,\([^>]*\)>>/B<\1>/g' \
		-e 's/\([Tt]he\) <<\([^>]*\)>>/\1 documentation section B<\U\2\E>/g' \
		-e 's/<<\([^>]*\)>>/the documentation section B<\U\1\E>/g' \
		-e 's/ (\([^)]*\))>/> (\1)/g' \
		-e '/^\[\[.*]]$$/d' \
		-e 's/GRADLE OPTS/GRADLE_OPTS/g' \
		-e 's/^=== \(.*\)$$/=back\n\n=head1 \U\1\n\n/g' \
		-e '0,/The command-line options available/d' \
		subprojects/docs/src/docs/userguide/commandLine.adoc >> $@
	sed '0,/@GENERATED@/d' $< >> $@

override_dh_auto_build: debian/gradle.1
	$(RM) gradle.properties # Some properties here breaks the latest JVM
	mkdir --parents buildSrc/src/main/java/tmp # Symlinks are for building Gradle 4 using Gradle 3
	ln --symbolic --force --target-directory=buildSrc/src/main/java/tmp/ $(patsubst %,../../../../../%,$(GRADLE_COMPAT_BUILDSRC_SOURCE))
	gradle $(GRADLE_TASKS) $(GRADLE_FLAGS)

override_dh_auto_test:

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

# 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