Page 1 of 1

Non Eclipse user

Posted: Thu Feb 27, 2014 7:47 pm
by bytor99999
So I really like that the source code is on GitHub and the documentation that you have for getting started. The problem is that it is very biased to setting things up one way. We do not use Eclipse, we use IntelliJ. Now that isn't really a big deal as if I have the code cloned locally, I just go file-open and select the pom file and I have it in the IDE.

The problem I am having is really figuring out how to get a particular version of the code, it appears that the 3.1.x branch is what I would use, but it also appears the M2 commits are being merged into that branch. And the documentation does state what is the latest branch for production ready code versus Snapshot code that might not work.

I am really just looking for the answer to what branch should I be checking out to get RELEASE code. Or is it better to just always use master?

Thanks

Mark

Re: Non Eclipse user

Posted: Thu Feb 27, 2014 8:00 pm
by bytor99999
I think I got it. Juts let me know I am correct.

New development is done on a develop branch, and merged to say a Milestone branch when finished testing. When it is ready for our consumption it is probably merged to a generic version branch and also Master, so that we can use a branch for an previous release or master to get the most up to date code that is tested and not Milestone/Snapshot code that isn't ready for live deployment.

Mark

Re: Non Eclipse user

Posted: Thu Feb 27, 2014 8:03 pm
by bytor99999
And now I have it checked out by tag. So I know I have 3.1.0-GA now.

Thanks

Mark

Re: Non Eclipse user

Posted: Thu Feb 27, 2014 8:09 pm
by bytor99999
Now I feel even more stupid, now that I found all this information that I was looking all over for is in the Documentation-appendix.

Well, maybe this thread will help others in the future.

Mark

Re: Non Eclipse user

Posted: Fri Feb 28, 2014 11:42 am
by phillipuniverse
Yup sounds like you got it figured out :)

All of our active development is in the 'develop' branch. That is currently on 3.2.0-SNAPSHOT. We haven't been very active in that branch specifically just because we don't have a lot of new features yet; we've been focusing on bug fixing.

Our bug fixing branches that are active are currently:

BroadleafCommerce-3.0.x (currently at 3.0.10-SNAPSHOT)
BroadleafCommerce-3.1.x (currently at 3.1.1-SNAPSHOT)

Those will end up getting released as 3.0.10-GA and 3.1.1-GA, respectively. Since 3.1.1-GA will be the latest version of Broadleaf, that will then become master. But you're right, we tag all of our releases like:

broadleaf-3.1.0-GA
broadleaf-3.0.8-GA
broadleaf-3.0.9-GA
...

You are correctly using the latest GA version of Broadleaf, 3.1.0-GA.

By the way, you shouldn't need to have Broadleaf checked out locally just to get to the sources. IntelliJ will download the sources automatically since we distribute them out to Maven central as well. You can open Broadleaf classes with cmd + shift + o (open file) and make sure you check the box 'include non-project files'. In Eclipse, this is called 'Open Type' (cmd + shift + t).

Re: Non Eclipse user

Posted: Fri Feb 28, 2014 2:41 pm
by bytor99999
Thanks Phillip. I thought I needed the sources to build the war file. Since there isn't a download link on the website to get the "app". But I also think my thinking that that is what BroadLeaf is, is incorrect?

Mark

Re: Non Eclipse user

Posted: Fri Feb 28, 2014 5:20 pm
by phillipuniverse
Broadleaf is a framework that you can use to build your eCommerce site on, similar to Magento or Ofbiz. There isn't really an 'app' as your site will have a lot of custom development to it; you can just use Broadleaf to leverage your eCommerce functionality.

We do provide the DemoSite which is what you get when you download the workspace. This is open source and the GitHub project is located at https://github.com/BroadleafCommerce/DemoSite. This is the code (for the most part) that powers http://demo.broadleafcommerce.org. It's a good demonstration of all of the features and capabilities that Broadleaf has. The core framework is also open source, located at https://github.com/BroadleafCommerce/BroadleafCommerce. There are some commercial modules as well as unique enterprise features that are not open source.

The sources (as in, all of the Broadleaf jars) are distributed using Maven. In fact, the DemoSite itself is just a Maven project that declares that it depends on the Broadleaf jars (along with other libraries). When you execute what's called a maven 'install' (from the command line 'mvn install') then that actually goes and grabs all of the jars needed to build the project and shoves it all into a war.

Let me know if any of that is still unclear.

Re: Non Eclipse user

Posted: Fri Feb 28, 2014 8:55 pm
by bytor99999
Thanks. Yeah, I have gotten the Demo-site and running the war files. Now the IntelliJ instructions talk about deploying the artifacts "combined" I did not see such an option. So I am running each war separately via Maven with mvn jetty:run on the command line. The commerce site works perfect. But the admin site throws an exception when trying to login

Caused by:

java.lang.ClassNotFoundException: admin.html
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)

Not sure why.

I will try the ant build instructions to see if that works for me.

Thanks

I also found out that when running via maven to run the site war file first so that it creates the db tables.

Basically, my goal is to use the admin war that is in demo site project as our way to add our products. But the other war, we are going to embed Vert.x into the application. This way our Vert.x application can send purchase messages through Vert.x EventBus to Broadleaf. I can @Autowire Vert.x EventBus into the demo website app easily with my Module I created for Spring in Vert.x and the other way around.

Mark