Rework site update scripts

This commit is contained in:
Peter Dell 2022-12-26 02:18:54 +01:00
parent 6c735df253
commit b6048a0ad3
9 changed files with 99 additions and 92 deletions

View File

@ -341,7 +341,7 @@
<p>For Apple II, WUDSN IDE automatically generates a bootable AppleDos 3.3 disk image with the extension
".dsk" if one of the predefined emulators is used for execution. If you want to use another DOS or disk
size or if you want to put more files onto the disk after compilation, you can use the command line
version of <a href="applecommander.cvs.sourceforge.net" target="_blank"
version of <a href="https://sourceforge.net/projects/applecommander/" target="_blank"
rel="noopener noreferrer">AppleCommander</a> to achieve this. Create a makefile script and
configured it as described in <a href="#FAQRunMakefile">How to run a makefile script instead of an
emulator?</a>. In the case of Apple Disk images always remember to use the correct file

View File

@ -13,3 +13,4 @@
/content.jar
/1.7.2/
/stable/

View File

@ -14,4 +14,11 @@
<natures>
<nature>org.eclipse.pde.UpdateSiteNature</nature>
</natures>
<linkedResources>
<link>
<name>update</name>
<type>2</type>
<location>C:/jac/system/WWW/Sites/www.wudsn.com/update</location>
</link>
</linkedResources>
</projectDescription>

View File

@ -1,16 +1,16 @@
@echo off
setlocal
set PATH=%PATH%;C:\jac\bin\wbin
cd C:\jac\system\Java\Programming\Repositories\WUDSN-IDE
set FOLDER=C:\jac\system\Java\Programming\Repositories\WUDSN-IDE
cd %FOLDER%
echo Checking bundle versions in %FOLDER%.
call :check com.wudsn.ide.base
call :check com.wudsn.ide.hex
call :check com.wudsn.ide.dsk
call :check com.wudsn.ide.gfx
call :check com.wudsn.ide.lng
call :check com.wudsn.ide.lng.asm
call :check com.wudsn.ide.lng.asm.compilers
call :check com.wudsn.ide.lng.asm.compilers.test
call :check com.wudsn.ide.lng.pas
call :check com.wudsn.ide.snd
@ -21,11 +21,10 @@ goto :eof
:check
rem echo | set /p=%1
echo %1
echo Plugin: %1
if exist %1\META-INF\MANIFEST.MF grep Bundle-Version %1\META-INF\MANIFEST.MF
if exist %1\META-INF\MANIFEST.MF grep Bundle-RequiredExecutionEnvironment %1\META-INF\MANIFEST.MF
if exist %1\build.properties grep jre.compilation.profile %1\build.properties
if exist %1\feature.xml grep version= %1\feature.xml
if exist %1\feature.xml grep version= %1\feature.xml|grep qualifier
echo.
goto :eof

View File

@ -7,7 +7,7 @@
<p>
Dear visitor, you cannot access this part of the web site with your browser.
<br/>
Instead you can use "https://www.wudsn.com/update" as update site in your Eclipse installation.
Instead you can use "https://www.wudsn.com/update/stable" as update site in your Eclipse installation.
<br/>
You will be redirected to the
<a href="https://www.wudsn.com/index.php/ide/installation#InstallingWUDSNIDE">installation page</a>

View File

@ -3,10 +3,10 @@
<description name="WUDSN IDE Update Site" url="http://www.wudsn.com/update">
Central Update Site for WUDSN IDE
</description>
<feature url="features/com.wudsn.ide.base.feature_1.7.2.202209110137.jar" id="com.wudsn.ide.base.feature" version="1.7.2.202209110137">
<feature url="features/com.wudsn.ide.base.feature_@version@.qualifier.jar" id="com.wudsn.ide.base.feature" version="@version@.qualifier">
<category name="General"/>
</feature>
<feature url="features/com.wudsn.ide.feature_1.7.2.202209110137.jar" id="com.wudsn.ide.feature" version="1.7.2.202209110137">
<feature url="features/com.wudsn.ide.feature_@version@.qualifier.jar" id="com.wudsn.ide.feature" version="@version@.qualifier">
<category name="WUDSN IDE"/>
</feature>
<category-def name="WUDSN IDE" label="WUDSN IDE">

View File

@ -1,8 +1,8 @@
<!--
The first target is "build_daily". It ends with manual step.
The result can then be uploaded to the "/update" folder with "upload_site".
If the daily build is tested and OK, the target "publish_daily_to_stable_and_main" copies
it to the current main version field and the default update site folder and then triggers "upload_site".
The result can then be uploaded to the "/update" folder with "upload_to_site".
If the daily build is tested and OK, the target "publish_daily_to_stable" copies
it to the current stable version field and the default update site folder and then triggers "upload_to_site".
If the stable site as been updated, the zero installation download can be update via "Check for Updates".
After the update, the old plugin version should be deleted from the "C:\jac\wudsn\Tools\IDE\Eclipse\eclipse\plugins" folder.
@ -10,79 +10,85 @@
-->
<project name="Site" basedir="." default="build_daily">
<target name="_init">
<property file="site.properties"/>
<property name="update_folder" value="${site_folder}\update"/>
<property name="daily_folder" value="${update_folder}\daily"/>
<property name="stable_folder" value="${update_folder}\stable"/>
<property name="stable_version_folder" value="${update_folder}\${stable_version}"/>
<echo>Update folder ${update_folder}</echo>
</target>
<target name="_clean_folder">
<echo message="Cleaning ${folder}" />
<delete dir="${folder}/features" />
<delete dir="${folder}/plugins" />
<delete file="${folder}/artifacts.jar" />
<delete file="${folder}/content.jar" />
</target>
<target name="_clean_folder">
<echo message="Cleaning ${folder}" />
<delete dir="${folder}/features" />
<delete dir="${folder}/plugins" />
<delete file="${folder}/artifacts.jar" />
<delete file="${folder}/content.jar" />
</target>
<target name="_copy_folder">
<antcall target="_clean_folder">
<param name="folder" value="${target}" />
</antcall>
<echo message="Copying ${source} to ${target}" />
<copy todir="${target}" preservelastmodified="true">
<fileset file="${source}/artifacts.jar" />
<fileset file="${source}/content.jar" />
<fileset file="${source}/site.xml" />
</copy>
<copy todir="${target}/features" preservelastmodified="true">
<fileset file="${source}/features/**" />
</copy>
<copy todir="${target}/plugins" preservelastmodified="true">
<fileset file="${source}/plugins/**" />
</copy>
<target name="_copy_folder">
<antcall target="_clean_folder">
<param name="folder" value="${target}" />
</antcall>
<echo message="Copying ${source} to ${target}" />
<copy todir="${target}" preservelastmodified="true">
<fileset file="${source}/artifacts.jar" />
<fileset file="${source}/content.jar" />
<fileset file="${source}/site.xml" />
</copy>
<copy todir="${target}/features" preservelastmodified="true">
<fileset file="${source}/features/**" />
</copy>
<copy todir="${target}/plugins" preservelastmodified="true">
<fileset file="${source}/plugins/**" />
</copy>
</target>
<!-- This checks the bundle versions in the source projects-->
<target name="_check_bundle_versions" depends="_init">
<echo>Expecting bundle version ${stable_version}</echo>
<exec dir="." executable="cmd.exe">
<arg line="/c check-bundle-versions.bat"/>
</exec>
</target>
<!-- This refreshes the daily build for testing -->
<target name="build_daily" depends="_init">
<antcall target="_check_bundle_versions">
</antcall>
<antcall target="_clean_folder">
<param name="folder" value="${daily_folder}" />
</antcall>
<copy tofile="${daily_folder}\site.xml" preservelastmodified="true" overwrite="true">
<fileset file="site-template.xml" />
</copy>
<replace file="${daily_folder}\site.xml" propertyfile="site.properties">
<replacefilter token="@version@" property="stable_version"/>
</replace>
<echo>Open daily/site.xml and press "Build All". Then run the target "upload_to_site" to upload the daily version.</echo>
</target>
</target>
<!-- This refreshes bundle versions in the source projects-->
<target name="check_bundle_versions" >
<exec dir="." executable="cmd.exe">
<arg line="/c check-bundle-versions"/>
</exec>
</target>
<!-- This refreshes the daily build for testing -->
<target name="build_daily" >
<antcall target="_clean_folder">
<param name="folder" value="daily" />
</antcall>
<copy tofile="daily\site.xml" preservelastmodified="true" overwrite="true">
<fileset file="daily/site-template.xml" />
</copy>
<echo>Open daily/site.xml and press "Build All". Then run the target "upload_site" to upload the daily version.</echo>
</target>
<!-- This publishes the daily build when testing it was successful -->
<target name="publish_daily_to_stable" depends="_init">
<!-- This publishes the daily build when testing it was successful -->
<target name="publish_daily_to_stable_and_main">
<echo>Copying daily to stable and main.</echo>
<antcall target="_copy_folder">
<param name="source" value="daily" />
<param name="target" value="1.7.2" />
</antcall>
<antcall target="_copy_folder">
<param name="source" value="daily" />
<param name="target" value="." />
</antcall>
<antcall target="upload_site" />
<echo>Done.</echo>
</target>
<target name="upload_site">
<echo>Uploading builds from ${basedir}.</echo>
<exec executable="C:\jac\system\Windows\Tools\NET\WinSCP\WinSCP.com" failonerror="true">
<arg value="/script=site.scp"/>
</exec>
<echo>Upload completed.</echo>
</target>
<target name="build_and_upload_zero_installation_download">
<exec executable="C:\jac\wudsn\Tools\WWW\build.bat" failonerror="true">
</exec>
</target>
<echo>Copying daily to ${stable_version} and stable.</echo>
<antcall target="_copy_folder">
<param name="source" value="${daily_folder}" />
<param name="target" value="${stable_folder}" />
</antcall>
<antcall target="_copy_folder">
<param name="source" value="${daily_folder}" />
<param name="target" value="${stable_version_folder}" />
</antcall>
<antcall target="upload_to_site" />
<echo>Done.</echo>
</target>
<target name="upload_to_site" depends="_init">
<exec dir="." executable="cmd.exe">
<arg line="/c ${site_folder}\productions\www\site\export\upload.bat update"/>
</exec>
<echo>Upload completed.</echo>
</target>
</project>

View File

@ -0,0 +1,2 @@
site_folder=C:\\jac\\system\\WWW\\Sites\\www.wudsn.com
stable_version=1.7.2

View File

@ -1,8 +0,0 @@
open sftp://%IONOS_USER%:%IONOS_PASSWORD%@home280969378.1and1-data.host/ -hostkey="ssh-ed25519 256 0d:15:61:04:10:c2:d7:ce:af:55:68:0a:7c:9c:b8:d7"
lcd C:\jac\system\Java\Programming\Repositories\WUDSN-IDE\com.wudsn.site.update
cd /www.wudsn.com/update
synchronize -delete remote
exit