[build] final touches on updating deployment to new cloudflare host

This commit is contained in:
Reinier Zwitserloot committed 2023-02-03 03:54:46 +01:00
1 parent dbb7ea00b8
commit 566dfe73ca
10 files changed
+65 -129

No files matched your search

+1 -1
View File
@@ -1,5 +1,5 @@
<!--
Copyright (C) 2020-2022 The Project Lombok Authors.
Copyright (C) 2020-2023 The Project Lombok Authors.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
+1 -1
View File
@@ -1,5 +1,5 @@
<!--
Copyright (C) 2020 The Project Lombok Authors.
Copyright (C) 2020-2023 The Project Lombok Authors.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
+9 -12
View File
@@ -250,13 +250,16 @@ Turns the changelog at doc/changelog.markdown into
build/website/changelog.html.
&gt; ant website.build
&gt; ant website.pack
&gt; ant website.release-build
&gt; ant website.publish
&gt; ant website.release-publish
'build' Builds the website (by for example applying freemarker templates) into
build/website.
'pack' bzips this up, ready to ship to the server.
'publish' sends this to the server and runs a script to deploy.
'build' Builds the website into build/website, _without_ reflecting a new release; this is
just in case you e.g. edited some documentation.
'publish' deploys this to the server.
'release-build' builds the website _with_ reflecting a new release, updating all-versions,
the download page, updating the javadoc, etc.
'release-ppublic' deploys this to the server.
&gt; ant website.open
@@ -269,14 +272,9 @@ Makes a changelog variant that lists only the newest changes; it is included
in the distribution for convenience.
&gt; ant javadoc.build
&gt; ant javadoc.pack
&gt; ant javadoc.publish
'build' Builds the javadoc into build/api.
'pack' bzips this up, ready to ship to the server.
'publish' sends this to the server and runs a script to deploy.
&gt; ant edge.pack
&gt; ant edge.publish
'pack' creates a bzip with all relevant files needed to deploy a new edge
@@ -285,8 +283,7 @@ maven repo update so that the edge release can be fetched as a maven dep,
and an update to the download-edge page listing the latest changes included
in the edge release.
'publish' sends this to the server, runs a script server-side to deploy the
content, and updates a git tag on success.</echo>
'publish' sends the edge release to projectlombok.org directly.</echo>
</target>
<target name="help.p2">
-9
View File
@@ -4,9 +4,6 @@
<!-- dependencies for the build itself, such as tools to create the website or deploy to servers. -->
<conf name="buildtools" />
<!-- dependencies needed only for the 'manage lombok supporters' part of the build -->
<conf name="supporters" />
<!-- test: base dependencies required to run the tests. Does not include javac or ecj. -->
<conf name="test" />
@@ -67,12 +64,6 @@
<dependency org="com.sparkjava" name="spark-core" rev="2.9.2" conf="buildtools->default" />
<dependency org="software.amazon.awssdk" name="s3" rev="2.19.29" conf="buildtools->default" />
<dependency org="org.eclipse.jgit" name="org.eclipse.jgit.ant" rev="5.2.0.201812061821-r" conf="supporters->default" />
<dependency org="org.eclipse.jgit" name="org.eclipse.jgit" rev="5.2.0.201812061821-r" conf="supporters->default" />
<dependency org="com.jcraft" name="jsch" rev="0.1.54" conf="supporters->default" />
<dependency org="com.rimerosolutions.ant" name="ant-git-tasks" rev="1.3.2" conf="supporters->default" />
<dependency org="org.slf4j" name="slf4j-simple" rev="1.8.0-beta2" conf="supporters->default" />
<!-- javacs -->
<dependency org="net.java.openjdk.custom" name="javac6" rev="1.6.0.18" conf="javac6->runtime" />
<dependency org="net.java.openjdk.custom" name="javac7" rev="1.7.0" conf="javac7->runtime" />
+2 -2
View File
@@ -1,5 +1,5 @@
<!--
Copyright (C) 2020-2022 The Project Lombok Authors.
Copyright (C) 2020-2023 The Project Lombok Authors.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -149,7 +149,7 @@ This buildfile is part of projectlombok.org. It makes maven-compatible repositor
<copy file="dist/lombok-${lombok.version}.jar" tofile="build/edge-releases/lombok-edge.jar" />
</target>
<target name="maven.edge.publish" depends="maven.edge, compile.support" description="Creates the maven repo for the snapshot build and publishes it to projectlombok.org">
<target name="maven.edge-publish" depends="maven.edge, compile.support" description="Creates the maven repo for the snapshot build and publishes it to projectlombok.org">
<java classname="lombok.publish.PublishToBucket" failonerror="true">
<classpath>
<path refid="cp.buildtools" />
+1
View File
@@ -43,6 +43,7 @@ This buildfile is part of projectlombok.org. It sets up the build itself.
<property name="gpg.keyrings" location="gpg.keyring" />
<property name="exe.gpg" value="gpg" />
<property name="exe.curl" value="curl" />
<property name="exe.git" value="git" />
<condition property="os.specific.native-swt-lib" value="org.eclipse.swt.gtk.linux.aarch64">
<os name="Linux" arch="aarch64" />
-57
View File
@@ -1,57 +0,0 @@
<!--
Copyright (C) 2010-2017 The Project Lombok Authors.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-->
<project name="lombok-supporters" default="updateRepo" basedir=".." xmlns:ivy="antlib:com.zwitserloot.ivyplusplus" xmlns:git="antlib:com.rimerosolutions.ant.git">
<description>
This buildfile is part of projectlombok.org. It is responsible for updating/maintaining the separate git repository
containing the status of lombok's supporters.
</description>
<path id="supporters.path">
<fileset dir="lib/supporters">
<include name="*.jar" />
</fileset>
</path>
<taskdef uri="antlib:com.rimerosolutions.ant.git" resource="com/rimerosolutions/ant/git/jgit-ant-lib.xml" classpathref="supporters.path" />
<target name="checkIfRepoExists">
<available file="website/lombokSupporters/.git/HEAD" property="supportersrepo.exists" />
</target>
<target name="initRepo" depends="checkIfRepoExists" unless="supportersrepo.exists">
<git:git directory="website/lombokSupporters">
<git:clone uri="escudo2:/data/git/lombokSupporters.git" />
</git:git>
</target>
<target name="updateRepo" depends="initRepo" unless="noUpdateRepo">
<git:git directory="website/lombokSupporters">
<git:pull />
</git:git>
</target>
<target name="deployToWebsiteBuild" depends="updateRepo">
<copy todir="build/website/files" overwrite="true" failonerror="false" quiet="true">
<fileset dir="website/lombokSupporters" />
</copy>
</target>
</project>
+48 -45
View File
@@ -1,5 +1,5 @@
<!--
Copyright (C) 2020 The Project Lombok Authors.
Copyright (C) 2020-2023 The Project Lombok Authors.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -95,7 +95,7 @@ such as applying the templates to produce the website, converting the changelog
</sequential>
</macrodef>
<target name="website.release-build" depends="version, -website.clean, compile.support">
<target name="website.release-build" depends="version, -website.clean, javadoc.build, compile.support">
<website.make version="${lombok.version}" fullversion="${lombok.fullversion}" cmd="all-newrelease" />
</target>
@@ -129,27 +129,54 @@ such as applying the templates to produce the website, converting the changelog
</java>
</target>
<target name="website.pack" depends="website.build">
<mkdir dir="dist" />
<tar destfile="dist/website.tar.bz2" compression="bzip2">
<tarfileset dir="build/website" excludes="download-edge.html" />
</tar>
<target name="-website.init-hostgit">
<property name="loc.hostingGit" location="../website-cloudflare" />
<fail>
You need the website-cloudflare repo as a sibling to your lombok repo to publish the website.
<condition>
<not><available file="${loc.hostingGit}/.git" /></not>
</condition>
</fail>
</target>
<target name="website.publish" depends="website.pack" description="Builds the website, compresses it, sends it to the projectlombok.org server and deploys it">
<ivy:scpUpload
from="dist/website.tar.bz2"
to="/data/lombok/staging"
server="projectlombok.org"
username="${ssh.username}"
keyfile="${ssh.keyfile}"
knownHosts="ssh.knownHosts" />
<ivy:sshExec
cmd="/data/lombok/stagingCmd/deployWebsite"
server="projectlombok.org"
username="${ssh.username}"
keyfile="${ssh.keyfile}"
knownHosts="ssh.knownHosts" />
<target name="-website.copyto-hostgit">
<sync todir="${loc.hostingGit}/website">
<fileset dir="build/website" />
</sync>
</target>
<target name="-website.pull-hostgit" depends="deps, -website.init-hostgit">
<exec executable="${exe.git}" failonerror="true" dir="${loc.hostingGit}">
<arg value="pull" />
</exec>
</target>
<target name="-website.commit-and-push-hostgit">
<exec executable="${exe.git}" failonerror="true" dir="${loc.hostingGit}">
<arg value="add" />
<arg value="-A" />
</exec>
<exec executable="${exe.git}" failonerror="true" dir="${loc.hostingGit}">
<arg value="commit" />
<arg value="-m" />
<arg value="website update" />
</exec>
<exec executable="${exe.git}" failonerror="true" dir="${loc.hostingGit}">
<arg value="push" />
</exec>
</target>
<target name="website.publish" depends="-website.pull-hostgit, website.build, -website.copyto-hostgit" description="Builds the website and copies it to the git repo serving as source for the cloudflare-hosted projectlombok.org site">
<antcall target="-website.commit-and-push-hostgit" />
</target>
<target name="website.release-publish" depends="dist, -website.pull-hostgit, website.release-build, -website.copyto-hostgit" description="Builds the website and copies it to the git repo serving as source for the cloudflare-hosted projectlombok.org site">
<sync todir="${loc.hostingGit}/api">
<fileset dir="doc/api" />
</sync>
<echo file="${loc.hostingGit}/CURRENT_VERSION">${lombok.version}</echo>
<copy file="dist/lombok-${lombok.version}.jar" todir="${loc.hostingGit}/releases" />
<antcall target="-website.commit-and-push-hostgit" />
</target>
<target name="javadoc.build" description="Generates the javadoc" depends="version, compile" unless="skip.javadoc">
@@ -207,30 +234,6 @@ such as applying the templates to produce the website, converting the changelog
<echo append="true" file="doc/api/tag-search-index.js"></echo>
</target>
<target name="javadoc.pack" depends="javadoc.build">
<mkdir dir="dist" />
<tar destfile="dist/javadoc.tar.bz2" compression="bzip2">
<tarfileset dir="build/api" />
</tar>
<echo>File dist/javadoc.tar.bz2 is available</echo>
</target>
<target name="javadoc.publish" depends="javadoc.pack">
<ivy:scpUpload
from="dist/javadoc.tar.bz2"
to="/data/lombok/staging"
server="projectlombok.org"
username="${ssh.username}"
keyfile="${ssh.keyfile}"
knownHosts="ssh.knownHosts" />
<ivy:sshExec
cmd="/data/lombok/stagingCmd/deployJavadoc"
server="projectlombok.org"
username="${ssh.username}"
keyfile="${ssh.keyfile}"
knownHosts="ssh.knownHosts" />
</target>
<target name="latest-changes.build" depends="compile.support, version" description="Creates the latest changes HTML file from the markdown in doc/changelog">
<mkdir dir="build/website" />
<java classname="lombok.website.WebsiteMaker" failonerror="true">