File: rules

package info (click to toggle)
kotlin 1.3.31%2Bds1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 109,908 kB
  • sloc: java: 454,756; xml: 18,599; javascript: 10,452; sh: 513; python: 97; makefile: 69; ansic: 4
file content (97 lines) | stat: -rwxr-xr-x 6,502 bytes parent folder | download
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
#!/usr/bin/make -f

include /usr/share/dpkg/architecture.mk
include /usr/share/dpkg/pkg-info.mk

KOTLIN_VERSION_TO_BUILD := $(firstword $(subst +, ,$(DEB_VERSION)))
KOTLIN_VERSION_INSTALLED := $(shell dpkg-query --showformat='$${Version}\n' -W kotlin)
KOTLIN_VERSION_TO_USE := $(firstword $(subst +, ,$(KOTLIN_VERSION_INSTALLED)))
COMMON_GRADLE_OPTIONS := -Dkotlin.compiler.execution.strategy=in-process
#COMMON_GRADLE_OPTIONS := -Dkotlin.compiler.execution.strategy=in-process \
#	"-Dorg.gradle.jvmargs=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 \
#	-Xbootclasspath/a:/usr/share/java/gradle-helper-hook.jar:/usr/share/java/maven-repo-helper.jar"

HARDCODED_JAVA_HOME := /usr/lib/jvm/default-java
DEFAULT_JAVA_HOME := $(HARDCODED_JAVA_HOME)
BASELINE_JAVA_HOME := $(DEFAULT_JAVA_HOME)
JDK11_HOME := $(DEFAULT_JAVA_HOME)
#DEFAULT_JAVA_HOME := /usr/lib/jvm/java-11-openjdk-$(DEB_BUILD_ARCH_CPU)
#BASELINE_JAVA_HOME := /usr/lib/jvm/java-8-openjdk-$(DEB_BUILD_ARCH_CPU)
#JDK11_HOME := /usr/lib/jvm/java-11-openjdk-$(DEB_BUILD_ARCH_CPU)

export JDK_16=$(BASELINE_JAVA_HOME)

%:
	dh $(@:_build=build) --buildsystem=gradle --with-maven-repo-helper

# Allow retrying `debian/rules build` with an existing `build` subdir
.PHONY: build
build: _build

debian/kotlin.poms: debian/kotlin.poms.in
	sed -e "s|__VERSION__|$(KOTLIN_VERSION_TO_BUILD)|g" < $< > $@

override_dh_auto_build: debian/kotlin.poms
	# Build Kotlin
	mkdir --parents buildSrc/prepare-deps/intellij-sdk/repo/kotlin.build.custom.deps/183.5153.4/intellijUltimate/lib
	mkdir --parents buildSrc/prepare-deps/intellij-sdk/repo/kotlin.build.custom.deps/183.5153.4/intellij-core
	mkdir --parents buildSrc/prepare-deps/intellij-sdk/repo/kotlin.build.custom.deps/183.5153.4/jps-standalone
	cp -u /usr/share/java/guava.jar							buildSrc/prepare-deps/intellij-sdk/repo/kotlin.build.custom.deps/183.5153.4/intellijUltimate/lib/guava-25.1-jre.jar
	cp -u /usr/share/java/jdom2-intellij.jar				buildSrc/prepare-deps/intellij-sdk/repo/kotlin.build.custom.deps/183.5153.4/intellijUltimate/lib/jdom.jar
	cp -u /usr/share/java/jna.jar							buildSrc/prepare-deps/intellij-sdk/repo/kotlin.build.custom.deps/183.5153.4/intellijUltimate/lib/jna.jar
	cp -u /usr/share/java/jna-platform.jar					buildSrc/prepare-deps/intellij-sdk/repo/kotlin.build.custom.deps/183.5153.4/intellijUltimate/lib/jna-platform.jar
	cp -u /usr/share/java/log4j-1.2.jar						buildSrc/prepare-deps/intellij-sdk/repo/kotlin.build.custom.deps/183.5153.4/intellijUltimate/lib/log4j.jar
	cp -u /usr/share/java/oro.jar							buildSrc/prepare-deps/intellij-sdk/repo/kotlin.build.custom.deps/183.5153.4/intellijUltimate/lib/oro-2.0.8.jar
	cp -u /usr/share/java/picocontainer-1.3.jar				buildSrc/prepare-deps/intellij-sdk/repo/kotlin.build.custom.deps/183.5153.4/intellijUltimate/lib/picocontainer-1.2.jar
	cp -u /usr/share/java/libtrove-intellij.jar				buildSrc/prepare-deps/intellij-sdk/repo/kotlin.build.custom.deps/183.5153.4/intellijUltimate/lib/trove4j.jar
	cp -u /usr/share/java/intellij-java-compatibility.jar	buildSrc/prepare-deps/intellij-sdk/repo/kotlin.build.custom.deps/183.5153.4/intellij-core/java-compatibility-1.0.1.jar
	cp -u /usr/share/java/streamex.jar						buildSrc/prepare-deps/intellij-sdk/repo/kotlin.build.custom.deps/183.5153.4/intellijUltimate/lib/streamex-0.6.7.jar
	cp -u /usr/share/java/lz4-java.jar				buildSrc/prepare-deps/intellij-sdk/repo/kotlin.build.custom.deps/183.5153.4/intellijUltimate/lib/lz4-1.3.0.jar
	cp -u /usr/share/java/guava.jar							buildSrc/prepare-deps/intellij-sdk/repo/kotlin.build.custom.deps/183.5153.4/intellijUltimate/lib/guava-25.1-jre.jar
	cp -u /usr/share/java/intellij-util-all.jar				buildSrc/prepare-deps/intellij-sdk/repo/kotlin.build.custom.deps/183.5153.4/intellijUltimate/lib/util.jar
	cp -u /usr/share/java/intellij-jps-model-all.jar		buildSrc/prepare-deps/intellij-sdk/repo/kotlin.build.custom.deps/183.5153.4/jps-standalone/jps-model.jar
	cp -u /usr/share/java/intellij-extensions.jar			buildSrc/prepare-deps/intellij-sdk/repo/kotlin.build.custom.deps/183.5153.4/intellijUltimate/lib/extensions.jar
	cp -u /usr/share/java/intellij-platform-api.jar			buildSrc/prepare-deps/intellij-sdk/repo/kotlin.build.custom.deps/183.5153.4/intellijUltimate/lib/platform-api.jar
	cp -u /usr/share/java/intellij-platform-impl.jar		buildSrc/prepare-deps/intellij-sdk/repo/kotlin.build.custom.deps/183.5153.4/intellijUltimate/lib/platform-impl.jar
	cp -u /usr/share/java/intellij-core.jar					buildSrc/prepare-deps/intellij-sdk/repo/kotlin.build.custom.deps/183.5153.4/intellij-core/intellij-core.jar

	ant -f ./debian/buildprotobufkotlin.xml
	cp ./debian/protobuf-debian.pom ./debian/maven-repo-cache/org/jetbrains/kotlin/protobuf/protobuf/debian/protobuf-debian.pom
	sed -i -e '/^ext\.JDK_1[678] / { s://.*::; s:=\(.*\):= "$(BASELINE_JAVA_HOME)" //#orig\1: }' \
		-e '/^ext\.JDK_\(9\|1[01]\) / { s://.*::; s:=\(.*\):= "$(JDK11_HOME)" //#orig\1: }' \
		-e '/return "/ s:$(HARDCODED_JAVA_HOME):$(DEFAULT_JAVA_HOME):' \
		build.gradle
	dh_auto_build -- $(COMMON_GRADLE_OPTIONS) \
	    -PkotlinVersionToBuild=$(KOTLIN_VERSION_TO_BUILD) \
	    -PbuildSrc.kotlin.version=$(KOTLIN_VERSION_TO_USE) \
	    -Pbootstrap.kotlin.version=$(KOTLIN_VERSION_TO_USE) \
	    dist install \
	    -x :kotlin-android-extensions-runtime:compileKotlin \
	    -x :plugins:android-extensions-compiler:compileKotlin

	ln -sfT .gradle/daemon/4.4.1/.m2 .m2

	dh_auto_configure --buildsystem=maven
	dh_auto_build --buildsystem=maven -- --file=libraries/pom.xml package

override_dh_auto_clean:

execute_before_dh_clean: debian/kotlin.poms
	# Compensate for not running clean on potential left outs.
	# .gitignore on upstream project has 'build/' as a pattern, so this should be safe.
	find buildSrc -name 'build' -and -type d | xargs rm -rf
	# Compensate for not being able to run maven with 'clean' as goal.
	find libraries -name target -and -type d | xargs rm -rf
	# Undo a file edit done by the Kotlin build system but not cleaned
	sed --in-place --regexp-extended --expression='s|(val CURRENT: KotlinVersion = KotlinVersion)\(([[:digit:]]+), ([[:digit:]]+), ([[:digit:]]+)\)|\1(\2, \3, 0)|' libraries/stdlib/src/kotlin/util/KotlinVersion.kt
	-sed -i -e '/^ext\.JDK_/ s:=.* //#orig \(.*\):= \1:' \
		-e '/return "/ s:$(DEFAULT_JAVA_HOME):$(HARDCODED_JAVA_HOME):' \
		build.gradle
	mh_unpatchpoms --package=kotlin
	rm -rf ./debian/kotlin.poms

execute_before_dh_install:
	mh_install
	mh_install --rules=debian/maven.rules.debian

override_dh_auto_test: