|
These are the tools we have pretty much settled on as a team. For ease and consistency of development please try to remain on these tools and discuss with the team before introducing competing technologies.
We have been approved for free licenses to use Clover (Atlassian Code Coverage tool) for Eclipse. To install the Clover plug-in for eclipse you can use the update site http://update.atlassian.com/eclipse/clover
Eclipse users: Within Eclipse, select from the menu "Window > Preferences" and click on "Clover > License" and paste the above license string into the license text area.
MONqrDkXrjMnJciwRtLBAEGFOmnBGjNmbRRWECCaUafBQo
mi2Kehqg3mIlkHdhHlTejumx2KzaGJQIsBkyJf66uTXT7W
NPQQsvpRQnqmPnrRpQPSunQNrOQnnRqMNovXXwssmXtvsW
vSttxsuurRqopnmomUUnovrnuoummmmmUUnovrnuoummmm
mUUJXdbW2flkbqtlohpUUnmmmm
At this point we don't have any strict licensing requirements, however to maintain flexibility we have to be careful about licenses for software we choose to incorporate into our system. The best licenses are open source licenses without copy-left provisions (e.g. Apache License) that give us maximal flexibility in what we later do with the code base. Some strong copy-left licenses (e.g. GPL) would impose licensing requirements on us (e.g. force us to use GPL ourselves) if we chose to redistribute the code base at a later date. For now, we should just be aware of the mix of licenses incorporated into our projects, and have a bias for open source, non-copy left licenses.
layer = {} layer["type"] = row[1] layer["status"] = row[2] layer["name"] = row[3] layer["numSamples"] = row[4] layer["platform"] = row[5] layer["version"] = row[6] layer["qcBy"] = row[11] |
CSV_TO_PRIMARY_FIELDS = { 'name': 'name', 'description': 'description', 'Investigator': 'creator', 'Creation Date': 'creationDate', 'Status': 'status', 'date_released': 'releaseDate', 'version':'version' } |
stringAnnotations = [] stringAnnotations.append("foo") |
CSV_SKIP_FIELDS = ["db_id","user_agreement_file_path", "readme_file_path"]; |
For general SVN info see the SVN book
The eclipse plugin for svn generally does a decent job moving files and directories. See also http://svnbook.red-bean.com/en/1.1/re18.html
Here is an example:
svn gets really upset though when you do more complicated things like created a file, delete that file, then make a directory with the same name in the same location as the deleted file. (but that is a pretty odd thing to do anyway)
When in doubt, make a developer branch and try it there first.http://svnbook.red-bean.com/en/1.1/ch04s02.html#svn-ch-4-sect-2.1
Want to make a drastic change and run it by the team before merging it to trunk? Want to check in broken code? Make a branch and do it there.
Resources
svn switch
command is handy to change the branch for your local checked out copy of codesvn mkdir https://sagebionetworks.jira.com/svn/PLFM/branches/deflaux |
svn copy https://sagebionetworks.jira.com/svn/PLFM/trunk https://sagebionetworks.jira.com/svn/PLFM/branches/deflaux/automatedIntegrationTesting |
cd ~/platform svn update trunk svn checkout https://sagebionetworks.jira.com/svn/PLFM/branches/deflaux/automatedIntegrationTesting |
cd trunk svnmerge.py init ../automatedIntegrationTesting svn commit -F svnmerge-commit-message.txt cd ../automatedIntegrationTesting svnmerge.py init ../trunk svn commit -F svnmerge-commit-message.txt |
Best Practice: merge changes from trunk to your branch every morning Monday through Friday. This reduces the pain later when you want to merge from your branch to trunk.
python svnmerge.py avail -l |
python svnmerge.py merge |
python svnmerge.py merge -r #,#,# |
python svnmerge.py merge -S /PLFM/trunk |
svn ci -F svnmerge-commit-message.txt |
python svnmerge.py avail -S <your branch> |
python svnmerge.py merge -S <your branch> |
python svnmerge.py merge -r <your revisions comma separated> -S <your branch> |
We currently have MySQL running on our Elastic Bamboo host for the purposes of integration testing. This is accomplished by the customise-extras.sh shell script which is run at boot time for the hosts.
If you want to import a database dump, install Crowd, etc., here is how to modify that script:
belltown:/work/platform/PasswordsAndCredentials/AtlassianAccountAWSCredentials/elasticbamboo.pk
belltown:/work/platform/PasswordsAndCredentials/AtlassianAccountAWSCredentials/Mike'sPassword
/mnt/bamboo-ebs/bin/customise-extras.sh
with your updated script.For more information, see:
Have a large blob of JSON? Want to see it in human readable format? Toss it into this web ui: http://jsonformatter.curiousconcept.com/
UMLet 11.2 is a "Free UML Tool for Fast UML Diagrams" http://www.umlet.com/
Don’t waste your time with drawing programs when you can just write something similar to psuedocode.
Browse lucene indices with Luke http://www.getopt.org/luke/