Page 1 of 1

Instructions on how to build Subsonic from sources?

PostPosted: Sat Feb 11, 2012 3:51 pm
by jol
Hello,
I would like to experiment with and tweak some parts of Subsonic, and if successfull also publish the changes. Where can I find instructions on how to rebuild Subsonic from the sources at http://sourceforge.net/projects/subsonic/files/subsonic/4.6/subsonic-4.6-src.zip/download and then replacing the application running on Windows?
Thanks, jol

Re: Instructions on how to build Subsonic from sources?

PostPosted: Sat Feb 11, 2012 9:43 pm
by GJ51
You'll probably get more feedback if you ask over in the "Mods" section. Some of those folks really know the innards.

Re: Instructions on how to build Subsonic from sources?

PostPosted: Sun Feb 12, 2012 12:49 am
by ytechie
I'm moving this to the mods section, as I would also like to learn how to build Subsonic from the ground up, and many of the mods guys know this well. :D

Re: Instructions on how to build Subsonic from sources?

PostPosted: Sun Feb 19, 2012 9:04 pm
by otakucode
I am interested as well. I have been going through the source trying to track down the exact reason why Subsonic will not permit fetching a podcast that requires HTTP auth, even if you give it a perfectly well-formed URL that curl or wget can fetch with no issue. I've narrowed it down to the line of code having the problem, and it seems like it is, for some reason, actually getting the xml but failing to parse it properly. To get further I really need to be able to debug the process. I am quite motivated to get this fixed, but I have had no luck configuring Eclipse to permit me to build. I'm going to try Netbeans as the wiki seemed to recommend it, but it would really be very beneficial to hear how others are working with the source.

Thanks,
otakucode

Re: Instructions on how to build Subsonic from sources?

PostPosted: Thu Feb 23, 2012 4:11 pm
by tsquillario
+1 for this.

I'd like a good "How to Build Subsonic from Source" article. We could get it pinned to the forum if it's any good!

Re: Instructions on how to build Subsonic from sources?

PostPosted: Sun Feb 26, 2012 1:07 pm
by otakucode
I've had a chance to do a bit more work on getting subsonic to build. I figured I should share my experiences.

I messed around with it a bit in Eclipse, but didn't get very far. I was always running into dependency problems and maven wouldn't/couldn't resolve them. So, I grabbed the NetBeans IDE from Oracle. That worked much more easily (and I think I like NetBeans better than Eclipse thus far, it's pretty nice in general).

In NetBeans, I just opened the subsonic project and it went and got the necessary dependencies and built, as simple as that. I did run into some display oddities where NetBeans was making it look like some of the components were missing (like the directwebremoting classes), but this went away after a bit, I think it just had to refresh the display after getting the dependencies. If you load it up and get a 'Build success' message you should be good to go.

The next step toward actually being able to debug was getting subsonic to run. I created a server inside NetBeans, it let me download and install GlassFish with a refreshing lack of bother. All I had to do was give a name to the local domain the GlassFish server would use.

Once that was done, I was able to choose to Run the project in NetBeans and it rebuilt subsonic, started up GlassFish, deployed the war file, and opened up the index page in my browser. Boom, subsonic building and running. I haven't tried running it with the debugger turned on, that is next...

Good luck to others interested in helping out with subsonic!

otakucode

Re: Instructions on how to build Subsonic from sources?

PostPosted: Wed Feb 29, 2012 7:28 pm
by califrag
Hello, I wrote this up a little while ago...

http://sourceforge.net/apps/mediawiki/s ... ows_Source


This is the official Subsonic wiki, and this is just the most simple, basic, and fast way to build Subsonic from source using Maven2.

I was going to include some instructions on how to get it working with NetBeans IDE with automatic subversioning, but my NetBeans \ Subversion messed up and I've ended up going through TortoiseSVN instead.

Basically my setup is like this: NetBeans IDE for development \building and Tortoise SVN for synchronizing to sourceforge.

Although, I haven't been actively developing on Subsonic in awhile now (job searching), so some of this may not be relevant anymore.

Hope this helps though.

Re: Instructions on how to build Subsonic from sources?

PostPosted: Thu Mar 01, 2012 9:43 am
by jol
Thanks to all suggestions, but as far as I can tell none of them reproduces the standard Windows installation but requires an additional application server to be used - something that I would prefer to avoid unless there is evidence that I can improve performance - my system is close to limits - doing that.
Thanks, jol

Re: Instructions on how to build Subsonic from sources?

PostPosted: Thu Mar 01, 2012 3:50 pm
by bushman4
But the standard windows installation is just a Jetty wrapper around the .war file.

Should be as easy as:

  • Build a new WAR file
  • Stop the windows Subsonic Service
  • Replace c:\Program Files\Subsonic\subsonic.war with the new .war you built (assuming you installed subsonic in the default directory)
  • Empty the C:\subsonic\jetty\2361\webapp folder (also assuming you have not change your Subsonic.home setting).
  • Restart the service

Easy peasy.

Glenn

Re: Instructions on how to build Subsonic from sources?

PostPosted: Thu Sep 27, 2012 12:39 pm
by fdemmer
i don't have editor privileges in the wiki so i am posting this here:

afther compiling with maven according to the instructions from the wiki (which work just the same on linux/ubuntu), i started subsonic with jett/jetty-runner (http://webtide.intalio.com/2008/04/jetty-runner/):

Code: Select all
java -jar jetty-runner.jar --lib ./subsonic/WEB-INF/lib/ subsonic.war


The --lib argument seems to be necessary for it to find the jstl.war. Subsonic expects a writeable /var/subsonic directory, but you can change that location in the subsonic.properties file as usual.

Then access you subsonic instance at http://localhost:8080