Page 3 of 5

Re: Problems with updating the SVN

PostPosted: 04 Jul 2011, 13:28
by Sloth
Chris H. wrote:
Accountancy wrote:Fun! So we need to find someone with the original script? I tried using Snacko's, but I think it's too old.
`
The "run-first.bat" script turns out to be fairly simple:

Code: Select all
build\svn.exe checkout http://cardforge.googlecode.com/svn/src/ forge-svn
`
There is also a build folder in Snacko's archive. I looked inside briefly. Someone else might have a suggestion.

I loaded the "svn.exe" file into a text editor. There is a small section dealing with Subversion and it is possible that you need to install Subversion to get Snacko's original "run-first.bat" script to run. But I am not sure about this.
No you don't need anything but Snacko's script, java and the new build file.

Re: Problems with updating the SVN

PostPosted: 04 Jul 2011, 13:35
by Accountancy
When starting forge it just says that the forge.jar file is missing, can someone see what this file is?
Edit: removed text about subversion as Chris H. already said it.

Re: Problems with updating the SVN

PostPosted: 04 Jul 2011, 14:23
by Braids
Chris H. wrote:I loaded the "svn.exe" file into a text editor. There is a small section dealing with Subversion and it is possible that you need to install Subversion to get Snacko's original "run-first.bat" script to run. But I am not sure about this.
that's the usual name for the subversion client executable. you probably don't need to install all of svn unless running (svn --version) produces an error.

are we using maven to produce and disseminate nightly builds yet?

Re: Problems with updating the SVN

PostPosted: 04 Jul 2011, 14:56
by Sloth
Accountancy wrote:When starting forge it just says that the forge.jar file is missing, can someone see what this file is?
Edit: removed text about subversion as Chris H. already said it.
The jar file is the main executable file that should be created by the script.

Re: Problems with updating the SVN

PostPosted: 04 Jul 2011, 15:03
by Chris H.
Braids wrote:[are we using maven to produce and disseminate nightly builds yet?
`
No, not yet. I do not have the ability to remove the older archives from http://code.google.com/p/cardforge/downloads/list at this time. I do not want to overwhelm Dave with this type of responsibility.

It looks like we are currently using 488 MB out of 4096 MB total quota for our project. I wonder if the archives count against this quota or if the quota is limited to just the forge project itself?

Re: Problems with updating the SVN

PostPosted: 04 Jul 2011, 15:08
by Hellfish
Re:Unable to delete downloads
Huh, you should be able to, or maybe that's owners only? Go into the page for a download and look for "Delete Download" near the bottom.

EDIT:Quota includes everything uploaded to the repo, source or downloads or wiki pages(I think).

Re: Problems with updating the SVN

PostPosted: 04 Jul 2011, 15:25
by Chris H.
Hellfish wrote:Re:Unable to delete downloads
Huh, you should be able to, or maybe that's owners only? Go into the page for a download and look for "Delete Download" near the bottom.

EDIT:Quota includes everything uploaded to the repo, source or downloads or wiki pages(I think).
`
I had to actually click on the link of the archive and go to the next page and there it was, the delete button. 8)

Re: Problems with updating the SVN

PostPosted: 04 Jul 2011, 23:58
by UnderFlow
Are there any news on the missing forge/ReadCard issue?

Compiled info:

Exception | Open
forge/ReadCard


Version:
Forge -- official beta: $Date: 2011-07-02 06:20:39 +0200 (Sa, 02 Jul 2011) $, SVN revision: $Revision: 10300 $

OS: Windows Vista Version: 6.0 Architecture: x86

Java Version: 1.6.0_24 Vendor: Sun Microsystems Inc.

Detailed error trace:
java.lang.NoClassDefFoundError: forge/ReadCard
at forge.card.cardFactory.CardFactory.readCards(Unknown Source)
at forge.card.cardFactory.CardFactory.<init>(Unknown Source)
at forge.AllZone.<clinit>(Unknown Source)
at forge.Gui_NewGame$2.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: forge.ReadCard
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 18 more

My SVN folder contains forge/ReadCard.java, but there is no forge/ReadCard.class in the jar.

I am using the exact same command as update-and-build-xstream-fix.bat.


Could this have something to do with the manifest? Could the current version of the manifest actually be an obsolete version?
Thanks in advance. ^^

Re: Problems with updating the SVN

PostPosted: 05 Jul 2011, 00:18
by Chris H.
UnderFlow wrote:Are there any news on the missing forge/ReadCard issue?

Compiled info:

Exception | Open
forge/ReadCard


Version:
Forge -- official beta: $Date: 2011-07-02 06:20:39 +0200 (Sa, 02 Jul 2011) $, SVN revision: $Revision: 10300 $

OS: Windows Vista Version: 6.0 Architecture: x86

Java Version: 1.6.0_24 Vendor: Sun Microsystems Inc.

Detailed error trace:
java.lang.NoClassDefFoundError: forge/ReadCard
at forge.card.cardFactory.CardFactory.readCards(Unknown Source)
at forge.card.cardFactory.CardFactory.<init>(Unknown Source)
at forge.AllZone.<clinit>(Unknown Source)
at forge.Gui_NewGame$2.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: forge.ReadCard
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 18 more

My SVN folder contains forge/ReadCard.java, but there is no forge/ReadCard.class in the jar.

I am using the exact same command as update-and-build-xstream-fix.bat.


Could this have something to do with the manifest? Could the current version of the manifest actually be an obsolete version?
Thanks in advance. ^^
`
I reverted my local copy of the SVN down to the revision mentioned by Sloth. This should have been the last version of the manifest before it was removed from the SVN.

The manifest is a short document which only lists the main class and also contains the class-path of the dependancies:

Manifest-Version: 1.0
Main-Class: forge.Gui_NewGame
Class-Path: res/lib/google-collections-1.0.jar res/lib/java-image-scaling-0.8.4.jar res/lib/substance.jar res/lib/napkinlaf-1.2.jar res/lib/nimrodlf.jar res/lib/jl1.0.1.jar res/lib/miglayout-3.7.3.1-swing.jar res/lib/xpp3_min-1.1.4c.jar res/lib/xstream-1.3.1.jar res/lib/java-yield-1.0-SNAPSHOT-jar-with-dependencies.jar
`
These scripts are not my strong suit. Make sure that your script/command includes the dependency for the:

java-yield-1.0-SNAPSHOT-jar-with-dependencies.jar

without this dependency could cause the problem that you are mentioning.

Re: Problems with updating the SVN

PostPosted: 05 Jul 2011, 00:21
by Braids
UnderFlow wrote:Are there any news on the missing forge/ReadCard issue? . . . Could this have something to do with the manifest? Could the current version of the manifest actually be an obsolete version?
i am pretty sure this was fixed already. @see http://www.slightlymagic.net/forum/viewtopic.php?f=52&t=4914&hilit=java+yield&start=30#p63913 and @see http://www.slightlymagic.net/forum/viewtopic.php?f=52&t=4915&p=63864&hilit=java+yield#p63864

can you check if java-yield-1.0-SNAPSHOT-jar-with-dependencies.jar is in your installation? i don't know whether it would be inside the main forge jar, or in the res/lib/ folder. it might even be in somefolder/com/google/code/jyield/.

Re: Problems with updating the SVN

PostPosted: 05 Jul 2011, 01:47
by goonjamin
Here is the updated copy of build-forge.bat that I use with the added dependency that Chris noted in the attached links.

If you just right click in windows on your existing bat file, select edit, then select all and replace the whole thing with the code below it should work fine.

If that doesn't work if there are no objections I can re-upload the build script package with the change and you can just extract and run?

Code: Select all
@REM The lines starting with "REM" are comments and give hints about debugging possibilities

@REM delete the following line to reenable the output of the commands executed
@echo off
echo.
echo Forge SVN Builder V1.1
echo.
echo By UnderFlow
echo This script is for the most part a modified version of existing Forge build scripts. The original creators of those scripts or script parts are (in chronological order):
echo Snacko
echo Fnoed
echo.
echo We would also like to thank all Forge contributors.
echo.
echo For more information visit http://www.slightlymagic.net/forum/viewtopic.php?f=26^&t=2767
echo.

if "%~1"=="" (echo Please start this file with a command line parameter containing the desired output path in double quotes
   goto :end
)
echo Target directory: %~1
echo.


echo.
echo ---------- 1: Updating SVN ---------------------------
echo.
if exist forge-svn (
   build\svn.exe update forge-svn
) else (
   build\svn.exe checkout http://cardforge.googlecode.com/svn/src/ forge-svn
)


echo.
echo ---------- 2: Creating jar file ----------------------
echo.
REM remove the "2>NUL" to reenable the error output stream of the following command
java -jar build\ecj-3.5.2.jar forge-svn\src -1.5 -classpath forge-svn\src;forge-svn\res\lib\google-collections-1.0.jar;forge-svn\res\lib\java-image-scaling-0.8.4.jar;forge-svn\res\lib\miglayout-3.7.3.1-swing.jar;forge-svn\res\lib\jl1.0.1.jar;forge-svn\res\lib\napkinlaf-1.2.jar;forge-svn\res\lib\nimrodlf.jar;forge-svn\res\lib\substance.jar;forge-svn\res\lib\java-yield-1.0-SNAPSHOT-jar-with-dependencies.jar;forge-svn\res\lib\xstream-1.3.1.jar;forge-svn\res\lib\xpp3_min-1.1.4c.jar -g:none -d output 2>NUL

mkdir output\META-INF
copy forge-svn\build\manifest.forge output\META-INF\MANIFEST.MF /Y
cd output
REM remove the ">NUL" to reenable the standard output stream of the following command
..\build\7z.exe a -tzip -r -mx=9 ..\run-forge.jar *.class META-INF/MANIFEST.MF > NUL


echo.
echo ---------- 3: Copying Forge to target directory ------
echo.
cd ..
REM If you you want more feedback from the robocopies, remove some of the parameters:
REM /NJH -> no job header
REM /NJS -> no job summary
REM /NDL /NFL -> no directory list / no file list, respectively
robocopy .\forge-svn %1 forge.properties /NDL /NFL /NJH /NJS
robocopy . %1 run-forge.jar /NDL /NFL /NJH /NJS
robocopy .\build %1 forge.exe /NDL /NFL /NJH /NJS
robocopy .\forge-svn\res "%~1\res" /E /XF forge.preferences /XF display_new_layout.xml /XD .svn /NDL /NFL /NJH /NJS


echo.
echo ---------- 4: Cleaning up ----------------------------
echo.
rmdir output /s /q
del run-forge.jar

:end
pause

Re: Problems with updating the SVN

PostPosted: 05 Jul 2011, 02:10
by Chris H.
goonjamin wrote:Here is the updated copy of build-forge.bat that I use with the added dependency that Chris noted in the attached links.

If you just right click in windows on your existing bat file, select edit, then select all and replace the whole thing with the code below it should work fine.

If that doesn't work if there are no objections I can re-upload the build script package with the change and you can just extract and run?

Code: Select all
@REM The lines starting with "REM" are comments and give hints about debugging possibilities

@REM delete the following line to reenable the output of the commands executed
@echo off
echo.
echo Forge SVN Builder V1.1
echo.
echo By UnderFlow
echo This script is for the most part a modified version of existing Forge build scripts. The original creators of those scripts or script parts are (in chronological order):
echo Snacko
echo Fnoed
echo.
echo We would also like to thank all Forge contributors.
echo.
echo For more information visit http://www.slightlymagic.net/forum/viewtopic.php?f=26^&t=2767
echo.

if "%~1"=="" (echo Please start this file with a command line parameter containing the desired output path in double quotes
   goto :end
)
echo Target directory: %~1
echo.


echo.
echo ---------- 1: Updating SVN ---------------------------
echo.
if exist forge-svn (
   build\svn.exe update forge-svn
) else (
   build\svn.exe checkout http://cardforge.googlecode.com/svn/src/ forge-svn
)


echo.
echo ---------- 2: Creating jar file ----------------------
echo.
REM remove the "2>NUL" to reenable the error output stream of the following command
java -jar build\ecj-3.5.2.jar forge-svn\src -1.5 -classpath forge-svn\src;forge-svn\res\lib\google-collections-1.0.jar;forge-svn\res\lib\java-image-scaling-0.8.4.jar;forge-svn\res\lib\miglayout-3.7.3.1-swing.jar;forge-svn\res\lib\jl1.0.1.jar;forge-svn\res\lib\napkinlaf-1.2.jar;forge-svn\res\lib\nimrodlf.jar;forge-svn\res\lib\substance.jar;forge-svn\res\lib\java-yield-1.0-SNAPSHOT-jar-with-dependencies.jar;forge-svn\res\lib\xstream-1.3.1.jar;forge-svn\res\lib\xpp3_min-1.1.4c.jar -g:none -d output 2>NUL

mkdir output\META-INF
copy forge-svn\build\manifest.forge output\META-INF\MANIFEST.MF /Y
cd output
REM remove the ">NUL" to reenable the standard output stream of the following command
..\build\7z.exe a -tzip -r -mx=9 ..\run-forge.jar *.class META-INF/MANIFEST.MF > NUL


echo.
echo ---------- 3: Copying Forge to target directory ------
echo.
cd ..
REM If you you want more feedback from the robocopies, remove some of the parameters:
REM /NJH -> no job header
REM /NJS -> no job summary
REM /NDL /NFL -> no directory list / no file list, respectively
robocopy .\forge-svn %1 forge.properties /NDL /NFL /NJH /NJS
robocopy . %1 run-forge.jar /NDL /NFL /NJH /NJS
robocopy .\build %1 forge.exe /NDL /NFL /NJH /NJS
robocopy .\forge-svn\res "%~1\res" /E /XF forge.preferences /XF display_new_layout.xml /XD .svn /NDL /NFL /NJH /NJS


echo.
echo ---------- 4: Cleaning up ----------------------------
echo.
rmdir output /s /q
del run-forge.jar

:end
pause
`
I think it would be a great idea for everyone if you could combine all of the pieces into an archive for us? I guess that this archive should include your build-forge.bat and the update.bat. Include the build folder with all of the required files might be a good idea.

A single archive with all of the necessary parts for people who might find it difficult to edit these files for themselves. :D

Re: Problems with updating the SVN

PostPosted: 05 Jul 2011, 02:33
by goonjamin
I take no credit for the attached script other than I updated it and it appears to work.

I would extract it to a folder called forge-build. In it you will have a build folder (with all the support files) and 2 .bat scripts. build-forge.bat and run.bat. I have only ever run this from run.bat, which just tells build-forge.bat to copy everything to a folder called forge, created one directory up from where you are running the bat files from.

EX.
1. I run the run.bat from my folder C:\Users\Mike\forge-build
2. This will download everything, compile, and copy the completed files to C:\Users\Mike\forge
3. To run forge go to the directory in #2 and run the forge.exe

Re: Problems with updating the SVN

PostPosted: 05 Jul 2011, 02:59
by UnderFlow
I overlooked the missing .jar, thanks people.


Chris H. wrote:I think it would be a great idea for everyone if you could combine all of the pieces into an archive for us? I guess that this archive should include your build-forge.bat and the update.bat. Include the build folder with all of the required files might be a good idea.

A single archive with all of the necessary parts for people who might find it difficult to edit these files for themselves. :D
I kind of did this already, but it got buried in the "Do it yourself" thread: http://www.slightlymagic.net/forum/viewtopic.php?f=26&t=2767&p=55947#p55947

Re: Problems with updating the SVN

PostPosted: 05 Jul 2011, 04:44
by Accountancy
Yeah, that's one of the ones I tried. Hopefully this one works.