mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-13 15:52:01 +07:00
155 lines
7.3 KiB
XML
155 lines
7.3 KiB
XML
<!-- Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -->
|
|
<project name="Prepare classpath for jps bootstrap" xmlns:resolver="antlib:org.apache.maven.resolver.ant" default="jps-bootstrap-classpath">
|
|
<dirname property="jps.bootstrap.dir" file="${ant.file}"/>
|
|
<property name="community.home" value="${jps.bootstrap.dir}/../.."/>
|
|
<property name="ultimate.home" value="${community.home}/.."/>
|
|
<property name="build.dir" value="${community.home}/out/jps-bootstrap" />
|
|
<property name="classes.dir" value="${build.dir}/jps-bootstrap.classes" />
|
|
<property name="uber.dir" value="${build.dir}/jps-bootstrap.out.lib" />
|
|
<property environment="env"/>
|
|
<property prefix="dependencies" file="${community.home}/build/dependencies/dependencies.properties" />
|
|
<property name="retry.attempts" value="7"/>
|
|
<property name="retry.delay" value="1000"/>
|
|
|
|
<taskdef name="executeOnChanged" classname="org.jetbrains.ExecuteOnChanged" classpath="execute-on-changed-ant-task/target/execute-on-changed-ant-task-1.0-SNAPSHOT.jar"/>
|
|
|
|
<property name="ij.packages.auth.java.path" value="${ultimate.home}/build/private-packages-auth/src/com/intellij/idea/ultimate/build/packages/auth/IJPrivatePackagesAuthorizer.java"/>
|
|
|
|
<mkdir dir="${build.dir}" />
|
|
|
|
<property name="maven.resolver.ant.tasks.version" value="1.2.1"/>
|
|
<property name="maven.resolver.ant.tasks.file.name" value="maven-resolver-ant-tasks-${maven.resolver.ant.tasks.version}-uber.jar"/>
|
|
<property name="maven.resolver.ant.tasks.file.path" value="org/apache/maven/resolver/maven-resolver-ant-tasks/${maven.resolver.ant.tasks.version}"/>
|
|
<property name="maven.resolver.ant.tasks.cache.dir" value="${user.home}/.m2/repository/${maven.resolver.ant.tasks.file.path}"/>
|
|
<property name="maven.resolver.ant.tasks.cache.file" value="${maven.resolver.ant.tasks.cache.dir}/${maven.resolver.ant.tasks.file.name}"/>
|
|
|
|
<xmlproperty file="${jps.bootstrap.dir}/pom.xml" prefix="jps.bootstrap.pom.xml"/>
|
|
|
|
<xslt style="kotlinc.xml.xslt" in="${community.home}/.idea/kotlinc.xml" out="${build.dir}/kotlinc.version.txt" />
|
|
<loadfile property="kotlinc.version" srcfile="${build.dir}/kotlinc.version.txt">
|
|
<filterchain>
|
|
<striplinebreaks />
|
|
<striplinebreaks linebreaks=" "/>
|
|
</filterchain>
|
|
</loadfile>
|
|
<echo message="kotlinc.version=${kotlinc.version}" />
|
|
|
|
<available file="${maven.resolver.ant.tasks.cache.file}" property="maven.resolver.ant.tasks.file.exists"/>
|
|
<available file="${ij.packages.auth.java.path}" property="ij.packages.auth.java.exists" />
|
|
|
|
<condition property="exec-ij-ultimate-packages-auth">
|
|
<and>
|
|
<istrue value="${ij.packages.auth.java.exists}"/>
|
|
<not>
|
|
<equals arg1="${env.IJ_PRIVATE_PACKAGES_AUTHORIZER_SKIP}" arg2="1"/>
|
|
</not>
|
|
<not>
|
|
<isset property="env.TEAMCITY_VERSION"/>
|
|
</not>
|
|
</and>
|
|
</condition>
|
|
|
|
<target name="ij-ultimate-packages-auth" if="exec-ij-ultimate-packages-auth">
|
|
<java sourcefile="${ij.packages.auth.java.path}" fork="true" failonerror="true" >
|
|
<sysproperty key="ij.private.packages.authorizer.idea.ultimate.path" value="${ultimate.home}"/>
|
|
</java>
|
|
</target>
|
|
|
|
<target name="download.resolver" unless="maven.resolver.ant.tasks.file.exists" depends="ij-ultimate-packages-auth">
|
|
<mkdir dir="${maven.resolver.ant.tasks.cache.dir}" />
|
|
<retry retrycount="${retry.attempts}" retrydelay="${retry.delay}">
|
|
<get
|
|
src="https://cache-redirector.jetbrains.com/repo1.maven.org/maven2/${maven.resolver.ant.tasks.file.path}/${maven.resolver.ant.tasks.file.name}"
|
|
dest="${maven.resolver.ant.tasks.cache.file}.tmp"
|
|
verbose="true"/>
|
|
</retry>
|
|
<move
|
|
file="${maven.resolver.ant.tasks.cache.file}.tmp"
|
|
tofile="${maven.resolver.ant.tasks.cache.file}"
|
|
overwrite="true"/>
|
|
</target>
|
|
|
|
<target name="jps-bootstrap-classpath" depends="download.resolver">
|
|
<taskdef uri="antlib:org.apache.maven.resolver.ant" resource="org/apache/maven/resolver/ant/antlib.xml"
|
|
classpath="${maven.resolver.ant.tasks.cache.file}"/>
|
|
|
|
<resolver:remoterepos id="remoterepos.buildscript">
|
|
<resolver:remoterepo id="central" url="https://cache-redirector.jetbrains.com/repo1.maven.org/maven2"/>
|
|
<resolver:remoterepo id="intellij-dependencies" url="https://cache-redirector.jetbrains.com/intellij-dependencies"/>
|
|
<resolver:remoterepo id="kotlin-ide-plugin-dependencies" url="https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-ide-plugin-dependencies"/>
|
|
<resolver:remoterepo id="teamcity-repository" url="https://cache-redirector.jetbrains.com/download.jetbrains.com/teamcity-repository"/>
|
|
</resolver:remoterepos>
|
|
|
|
<resolver:pom file="${jps.bootstrap.dir}/pom.xml" id="jps.bootstrap.pom"/>
|
|
|
|
<retry retrycount="${retry.attempts}" retrydelay="${retry.delay}">
|
|
<resolver:resolve failOnMissingAttachments="true">
|
|
<resolver:remoterepos refid="remoterepos.buildscript"/>
|
|
<resolver:dependencies pomRef="jps.bootstrap.pom">
|
|
<resolver:dependency groupId="org.jetbrains.kotlin" artifactId="kotlin-jps-plugin-classpath" version="${kotlinc.version}" />
|
|
</resolver:dependencies>
|
|
<resolver:path refid="classpath.buildscripts" classpath="runtime"/>
|
|
</resolver:resolve>
|
|
</retry>
|
|
|
|
<retry retrycount="${retry.attempts}" retrydelay="${retry.delay}">
|
|
<resolver:resolve failOnMissingAttachments="true">
|
|
<resolver:remoterepos refid="remoterepos.buildscript"/>
|
|
<resolver:dependencies>
|
|
<resolver:dependency groupId="org.jetbrains.kotlin" artifactId="kotlin-compiler" version="${kotlinc.version}" />
|
|
</resolver:dependencies>
|
|
<resolver:path refid="classpath.kotlin.compiler" classpath="runtime"/>
|
|
</resolver:resolve>
|
|
</retry>
|
|
|
|
<executeOnChanged statefile="${build.dir}/jps-bootstrap.classes.jar.state.txt">
|
|
<inputs>
|
|
<pathelement location="${ant.file}"/>
|
|
<pathelement location="${jps.bootstrap.dir}/src/main/java"/>
|
|
<pathelement location="${jps.bootstrap.dir}/pom.xml"/>
|
|
<pathelement location="${community.home}/.idea/kotlinc.xml"/>
|
|
</inputs>
|
|
|
|
<outputs>
|
|
<pathelement location="${classes.dir}.jar"/>
|
|
</outputs>
|
|
|
|
<sequential>
|
|
<delete dir="${classes.dir}"/>
|
|
<java
|
|
classname="org.jetbrains.kotlin.cli.jvm.K2JVMCompiler"
|
|
classpathref="classpath.kotlin.compiler"
|
|
fork="true"
|
|
failonerror="true">
|
|
<arg value="-no-reflect"/>
|
|
<arg value="-no-stdlib"/>
|
|
<arg value="-jvm-target"/>
|
|
<arg value="17"/>
|
|
<arg value="-classpath"/>
|
|
<arg pathref="classpath.buildscripts"/>
|
|
<arg path="${jps.bootstrap.dir}/src/main/java"/>
|
|
<arg value="-d"/>
|
|
<arg value="${classes.dir}"/>
|
|
</java>
|
|
|
|
<delete file="${classes.dir}.jar"/>
|
|
<zip destfile="${classes.dir}.jar">
|
|
<fileset dir="${classes.dir}"/>
|
|
</zip>
|
|
</sequential>
|
|
</executeOnChanged>
|
|
|
|
<mkdir dir="${uber.dir}" />
|
|
<sync todir="${uber.dir}">
|
|
<mappedresources>
|
|
<flattenmapper />
|
|
|
|
<resources>
|
|
<path refid="classpath.buildscripts" />
|
|
<file file="${classes.dir}.jar" />
|
|
</resources>
|
|
</mappedresources>
|
|
</sync>
|
|
</target>
|
|
</project>
|