Tim,

Just a quick question, I am working on a custom version of Open for our practice, just a few core changes we feel we need.  

My question: I want to upload the codebase to a thirdparty svn/git host, my plan is to upload the core releases and then fork my own project from that. this means I can update the core when a new version is released or when I feel that getting up to date with head is required and then pull the upstream changes into my own working copy easier.  

I work from 2 locations / possibly 3 so getting my repo online has become necessary for me.

Are there any licensing concerns from your point of view, I cant see any, I dont plan on hosting releases either mine or core, but I will link back here for external parties.  It will be hosted publically, not privately.

At the moment I am considering GITHUB, I use it for other projects already so it seemed sensible.  Just wanted to check with you first

Ben

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Re: SVN/GIT

One aspect of hosting the sources elsewhere is that the license is subscription based for veterinary practices. Github offers free hosting to open source projects, but its not clear to me if OpenVPMS falls into that model.

 

Re: SVN/GIT

Actually you can host any source code on github but the licence should comply with GITHUBS terms, in that people can view and download it...  

Other than that github doesnt care what license you apply to your project.  

https://help.github.com/articles/open-source-licensing

 

 
Regards
 
Ben 
OpenVPMS Installer and Helper 
Ph: +61423044823 
Email: info[at]charltonit.com[dot]au

Re: SVN/GIT

OK - I'm happy if you want to fork it on github, so long as the OpenVPMS license is in the root of each repository, and you indicate that it is a fork and not the official version.

I'll probably end up deploying an official version there, but it will likely be after 1.8, and after I've restructured the repository a little.

One thing to be aware of is that the build uses svn revision information when displaying the OpenVPMS version, so you will lose that when building out of git.

 

Re: SVN/GIT

yep I have linked the github back to the official website..www.openvpms.org

I have add license.txt to those projects that didnt have it.

I am using git-svn to rebase back out of the svn depo.

 

I created a organisation to host the whole project. You can find it here.  

https://github.com/CharltonIT

 

Regards
 
Ben 
OpenVPMS Installer and Helper 
Ph: +61423044823 
Email: info[at]charltonit.com[dot]au

Re: SVN/GIT

Regarding Svn version - i updated the build version plugin version to 1.1 which means it will use the GIT revision which I shortened to 5 chars.  The bugger is it isnt sequential but atleast with the version.revision tagging it should be clear where the build was generated....and with 5 chars you wont get a repeat for atleast 1200 builds or so and even then its 50/50

 

 

Regards
 
Ben 
OpenVPMS Installer and Helper 
Ph: +61423044823 
Email: info[at]charltonit.com[dot]au

Re: SVN/GIT

Just an update - I have added TRAVIS CI integration to the Github repo.  Niftely can show building against a range of jdk's and in a unix environ.

It only builds the core openvpms project - which calls all the submodules anyway and builds those.

 

Regards
 
Ben 
OpenVPMS Installer and Helper 
Ph: +61423044823 
Email: info[at]charltonit.com[dot]au

Re: SVN/GIT

I notice it supports MySQL, so it may be possible to get it to run the unit tests.

I suspect the tests that require OpenOffice would have to be excluded, or can you install packages?

Re: SVN/GIT

Yep each build is conducted on a Unix VM, with quite a few DB installed as well as access to APT, so you can apt get openoffice to add it.

The one drama I am having at the moment is that the total build and test time is limited to 50minutes, which is exceeded by the entire package test at the moment, so I/ll have to seperate out the tests to into jobs to reduce the total job time for the build.

I tried using surefire to fork the process's to speed up the tests but it causes hibernate errors.  Each VM is effectively 1.5 cores.

Anyway you can check out the builds on TRAVIS CI .org

https://travis-ci.org/CharltonIT/Openvpms-framework is passing its build and tests at the moment

https://travis-ci.org/CharltonIT/openvpms (the full package) passes install but I have disabled testing as it takes too long.

https://travis-ci.org/CharltonIT/openvpms-archetypes is failing its build at the moment due to a dependency issue...

https://github.com/CharltonIT/openvpms-archetypes/blob/1.7.1-CDIT-beta/....

is the file that control how its built...for some reason maven-plugins isnt building at the moment....on this branch  (it works on my home machine but I can cycle the builds there much easier.)..you only get one shot on the VM each run.  then the image is destroyed and you start again.

 

Regards
 
Ben 
OpenVPMS Installer and Helper 
Ph: +61423044823 
Email: info[at]charltonit.com[dot]au

Re: SVN/GIT

I would point out I would have placed the entire project in one repo with GIT normally, however I am using Git-svn to keep it up to date with the svn repos and that means I have to sync each repo that has trunks/branches and tags seperately to maintain the sync.

If that happens seperating the integration/unit/deployment tests becomes even more vital, as then the build time would get quite long with all the tests for each submodule.

 

Regards
 
Ben 
OpenVPMS Installer and Helper 
Ph: +61423044823 
Email: info[at]charltonit.com[dot]au

Re: SVN/GIT

The build time is only going to increase. Does Travis allow sub-module builds, or does it have to build from the root each time? I would like to merge some of the repositories in the future, but there's not much point if the CI tools are going to kill long builds.

An alternative CI tool  is buildhive:  https://buildhive.cloudbees.com/

Not sure if supports 3rd party tools like openoffice.

Re: SVN/GIT

With travis you can break the build up using environment variables - for example 

You could have the the build - compile the full app with no tests, then have each package run its tests on a seperate instance.  

IE maven-plugin tests, framework-tests, etc 

 

Regarding openoffice I was trying to get it installed on the vm but the issue I am having at the moment is that it is no longer in the ubuntu default repos - its a third party repo - then the issue is that adding openoffice to the build adds build time because each build has to install office. effectively that meant I have to wget it, install the debs, and create the user space to test with I think..I havent got it working yet.

 

Alternatively strip out the tests involving office - they would be essentially integration tests I assume. Move those tests to another isolated build.

 

There are examples on Travis where one project breaks out into 56 seperate builds based on building see here

http://docs.travis-ci.com/user/build-configuration/#The-Build-Matrix

Persistance is only available on travis at least in the private repos. the commercial side and even then its very beta.

 

 

Regards
 
Ben 
OpenVPMS Installer and Helper 
Ph: +61423044823 
Email: info[at]charltonit.com[dot]au

Re: SVN/GIT

You should be able to use LibreOffice instead of OpenOffice, if thats easier to deploy.

Syndicate content