#!/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: