Using LWJGL from CVS

Started by cfmdobbie, August 27, 2003, 10:03:51

Previous topic - Next topic

cfmdobbie

First: My goodness SourceForge's CVS is (a) slow and (b) flaky, isn't it? :D

Right, I'm using Eclipse to download LWJGL via CVS and import it as a project.  Comments:

It's 6.5MB!  Do you know how long that takes to check out from clean? :shock:

Downloading LWJGL for developmental reasons currently requires you to also download the content for the website, 500KB of Photoshop files, 150KB of changelogs, 2MB of sample sounds... all in order to get hold of 900KB of source code.  I know there are some overheads that can't be got rid of, like distribution-level docs, but is it possible some of this could be moved out into a different module?  Or make the "developmental" LWJGL a self-contained sub-directory of the greater project?

The project as downloaded is broken (to the point where it doesn't bother trying to compile anything) as it doesn't contain a .classpath file.  Please remove .classpath from the ignore list and include a file like:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src/java"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry kind="output" path="bin"/>
</classpath>


This gets people up and running; it explicitly specifies the output directory and fixes the package naming issues.

(Without a .classpath file all packages get processed from the project root, so are named "src.java.org.lwjgl.openal" etc.  To fix this you need to click Project -> Properties -> Java Build Path -> Source -> Add Folder, browse to LWJGL/src/java, and click OK.  Or put the above into your .classpath file!)

Could the "useful" Ant tasks be made into shared launch scripts and tagged as favourites please?  How about shared run configurations for the test programs?


I welcome any comments or questions on the above - but be aware I'm just learning this tool and this codebase - there may be very good reasons why some of the above cannot be done! :roll: :D
ellomynameis Charlie Dobbie.

Matzon

Quote from: "cfmdobbie"First: My goodness SourceForge's CVS is (a) slow and (b) flaky, isn't it? :D
Well, it isn't lightning fast :)

Quote from: "cfmdobbie"
It's 6.5MB!  Do you know how long that takes to check out from clean? :shock:
Well, that depends on the connection, doesn't it ? :) - besides it's only once you do this - typically.

Quote from: "cfmdobbie"
Downloading LWJGL for developmental reasons currently requires you to also download the content for the website, 500KB of Photoshop files, 150KB of changelogs, 2MB of sample sounds... all in order to get hold of 900KB of source code.  I know there are some overheads that can't be got rid of, like distribution-level docs, but is it possible some of this could be moved out into a different module?  Or make the "developmental" LWJGL a self-contained sub-directory of the greater project?
Uhm, we version *everything* - and you wanted the LWJGL project...
if you only want the src, checkout "LWJGL/src" and "LWJGL/build.xml" instead?

Regarding using LWJGL from CVS, you currently have to setup your own Visual Studio environment. It is unfortunate, but none of us win32 guys have experience with make/mingw. It's on my looooong TODO though :)

Quote from: "cfmdobbie"
The project as downloaded is broken (to the point where it doesn't bother trying to compile anything) as it doesn't contain a .classpath file.  Please remove .classpath from the ignore list and include a file like:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src/java"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry kind="output" path="bin"/>
</classpath>


This gets people up and running; it explicitly specifies the output directory and fixes the package naming issues.
Hmm, Eclipse just works for me... why do I have a feeling that my project file is != cvs version ?

Quote from: "cfmdobbie"(Without a .classpath file all packages get processed from the project root, so are named "src.java.org.lwjgl.openal" etc.  To fix this you need to click Project -> Properties -> Java Build Path -> Source -> Add Folder, browse to LWJGL/src/java, and click OK.  Or put the above into your .classpath file!)
Think I have done this... But better to have it in default project file. Will look at it tonight

Quote from: "cfmdobbie"
Could the "useful" Ant tasks be made into shared launch scripts and tagged as favourites please?  How about shared run configurations for the test programs?
uhh?
you can run ant --projecthelp to get a list of the user runnable targets.
regarding launch scripts, yeah - but we'd have to do for all platforms, which is a bother.

cfmdobbie

Quote from: "Matzon"
Quote from: "cfmdobbie"It's 6.5MB!  Do you know how long that takes to check out from clean? :shock:
Well, that depends on the connection, doesn't it ? :) - besides it's only once you do this - typically.
Well, it's good practice to ditch the lot and checkout from clean once in a while (every two weeks or so) just to make sure the project really does contain the stuff you think it does, not the environment.  See below...

Quote from: "Matzon"Uhm, we version *everything* - and you wanted the LWJGL project...
if you only want the src, checkout "LWJGL/src" and "LWJGL/build.xml" instead?
Versioning everything is good.  Having the obvious checkout that anyone interested in things would get being excessivly huge and containing lots of other stuff is bad. :wink:  Maybe you could just drop in a checkout module entry that just refers to the source code, the documents and the build.xml, then document that people should get that instead?

Quote from: "Matzon"Regarding using LWJGL from CVS, you currently have to setup your own Visual Studio environment.
Heh, ick.  I'm only after LWJGL for the Java side at the moment.  I don't think I'd ever buy VS anyway!

Quote from: "Matzon"Hmm, Eclipse just works for me... why do I have a feeling that my project file is != cvs version ?
Nope, this comes under the heading of project versus environment.  You probably have the CVS version fine, but many of the settings you have are local: the .classpath file for instance is specifically ignored by CVS so doesn't get put into the repository, any launch settings you have for running tests etc will exist only in Eclipse's .metadata tree, not the project tree etc. :?

Quote from: "Mighty Matzon"you can run ant --projecthelp to get a list of the user runnable targets.
regarding launch scripts, yeah - but we'd have to do for all platforms, which is a bother.
No, I'm talking about inside Eclipse.  Click Run -> External Tools -> External Tools.  You can define Ant launch configurations just like you define Java launch configurations.  You create a new entry, check the targets to run, make it Shared, save it in LWJGL/launches or something, and check set it as a favourite.  You can now click Run -> External Tools -> NameOfTarget from inside Eclipse, and anyone who else who uses Eclipse can do the same.  Woohoo!

And they're cross platform, too!  Woohoo! :D
ellomynameis Charlie Dobbie.

cfmdobbie

Quote from: "Matzon"
Quote from: "cfmdobbie"First: My goodness SourceForge's CVS is (a) slow and (b) flaky, isn't it? :D
Well, it isn't lightning fast :)

Quote from: "cfmdobbie"
It's 6.5MB!  Do you know how long that takes to check out from clean? :shock:
Well, that depends on the connection, doesn't it ? :) - besides it's only once you do this - typically.

Forgot to mention - humourously enough, I'm on a half-megabit connection, but it took tons of:

Me: "Checkout"
Eclipse: "IO Exception"
Me: (refresh) "Checkout?"
Eclipse: "Socket Error"
Me: (refresh) "CHECKOUT!"
Eclipse: "IO Exception"
Me: (slap)

before it worked.  Once it finally started grabbing files it took over half an hour to get the lot...! :shock:
ellomynameis Charlie Dobbie.

Morgrog

I connected yesterday to the CVS and it's really really slow :cry:

Could anyone please tell me how CVS compares to ClearCase?  I work as a ClearCase admin and never used CVS, but I take it they're quite similar so if anyone has any experience in both I'd love to know if they have similarities :)

How can I run the examples using the spgl and CVS? (I noticed there was an example folder somewhere in there)  Do I have to checkout stuff?

I'm such a noob :roll:

cfmdobbie

Quote from: "Morgrog"Could anyone please tell me how CVS compares to ClearCase?  I work as a ClearCase admin and never used CVS, but I take it they're quite similar so if anyone has any experience in both I'd love to know if they have similarities :)
I'm biased - I use CVS for everything.  I've encountered VSS but didn't like the way the repository wasn't useful outside of the client tool.  Subversion is supposed to be the future of version control, but it relies on a web server and uses weird and wonderful technologies - lots of stuff to go wrong!  Version control is pretty easy and very much a solved problem IMHO.  While adding new channels to access data is a good thing, changes to the core should rarely be necessary.

A company I worked for picked Rational ClearCase for one project, and all was well until one day the repository utterly corrupted itself - it was installed on a raw partition and there was no quick fix, just trash the lot and start again.  I don't think it was touched again after that project, for better or for worse. :?

Evangelism mode:  CVS is very much what you'd expect from mature Free Software: it's not very pretty and has some shortcomings, but there are no unknown gotchas, it doesn't need any fancy hardware or configuration to run, the core technology (RCS) is decades old so rarely if ever goes wrong, there are a HUGE number of GUI applications and libraries that interface to it, and a wealth of expertise on bulletin boards and mailing lists everywhere willing to help! :wink:

Aside: in 4 years of administering CVS, I've personally noted only three bugs in it.  One in the core (dead file resurrection), two in the UNIX client tools (one core dump with malformed input, one difference of opinion).  That's pretty good, considering how picky I am!

It's probably worth a try, if only just to show you just why you pay big bucks for your client tools!  I expect CC will handle branching and merging etc in a much cleaner way then CVS ever will.

QuoteHow can I run the examples using the spgl and CVS? (I noticed there was an example folder somewhere in there)  Do I have to checkout stuff?
Yep, SPGL is only available through CVS.
ellomynameis Charlie Dobbie.

Morgrog

QuoteA company I worked for picked Rational ClearCase for one project, and all was well until one day the repository utterly corrupted itself - it was installed on a raw partition and there was no quick fix, just trash the lot and start again. I don't think it was touched again after that project, for better or for worse.  
That's why you have beautiful things such as tape backups ;)


So if I get this straight, in order to compile/run the spgl examples and what not, I need to checkout the stuff (I guess this will copy it locally to my machine or smthg?)