Development Environment Matthew Sell, CSSE Student MASS Research Participant, October 2014.

Slides:



Advertisements
Similar presentations
Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
Advertisements

Ravi Mathur Updated December 5,  ODTBX uses Git (see the ODTBX Git Tutorial) ODTBXODTBX Git Tutorial ◦ SourceForge account needed (free). SourceForge.
Jenkins User Conference San Francisco, Sept #jenkinsconf Business Process Model & Notation (BPMN) Workflows in Jenkins Max Spring Cisco
Version Control System (Sub)Version Control (SVN).
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Bug Tracking and Project Management Systems SENG Tristan Aurini.
Git A distributed version control system 23-Aug-15.
BIT 285: ( Web) Application Programming Lecture 07 : Tuesday, January 27, 2015 Git.
Git for Version Control These slides are heavily based on slides created by Ruth Anderson for CSE 390a. Thanks, Ruth! images taken from
Getting Started with GIT. Basic Navigation cd means change directory cd.. moves you up a level cd dir_name moves you to the folder named dir_name A dot.
Maven & Bamboo CONTINUOUS INTEGRATION. QA in a large organization In a large organization that manages over 100 applications and over 20 developers, implementing.
Sumedha Rubasinghe October,2009 Introduction to Programming Tools.
علیرضا فراهانی استاد درس: جعفری نژاد مهر Version Control ▪Version control is a system that records changes to a file or set of files over time so.
Created by: Maria Abrahms Modified Date: Classification: How to get it done Contributing to OpenStack.
ITEC 370 Lecture 16 Implementation. Review Questions? Design document on F, feedback tomorrow Midterm on F Implementation –Management (MMM) –Team roles.
Version Control Systems academy.zariba.com 1. Lecture Content 1.What is Software Configuration Management? 2.Version Control Systems (VCS) 3.Basic Git.
…using Git/Tortoise Git
Git workflow and basic commands By: Anuj Sharma. Why git? Git is a distributed revision control system with an emphasis on speed, data integrity, and.
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
Using Subversion and TortoiseSVN for Windows by Galen Wilkerson Gund Institute for Ecological Economics University of Vermont
Team 708 – Hardwired Fusion Created by Nam Tran 2014.
Git Fundamentals Rochelle Terman 13 January 2014.
Introduction to GitHub Alex Bigazzi Dec. 4, 2013 ITS Lab GitHub Introduction1.
Version Control CSC 517 John Slankas. Version Control Managing files and directories, and the changes made to them over time. - Adapted from “Version.
Creative Commons Attribution- NonCommercial-ShareAlike 2.5 License Sakai Programmer's Café Sakai development and app/tool tips Aaron Zeckoski
Tool Install How to download & install Java 6 & Eclipse updated version based on Dr. G. L. Ray’s slides.
When collaborating, it is important to manage changes in the models. For example: –To create or edit a submodel E.g. Habitat suitability is replaced with.
Intro to Git presented by Brian K. Vagnini Hosted by.
12 CVS Mauro Jaskelioff (originally by Gail Hopkins)
All the dSoftArk Tools Getting started!. Tools dSoftArk is a semi-realistic, agile, development project –Industrial strength software (programming, TDD,
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
Loader Tutorial Set Up. Requirements Java 7 Eclipse IvyIDE plugin Git Optional: Ant Maven.
Git with Eclipse (EGit) /article.html.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
(1) Introduction to Subversion (SVN) and Google Project Hosting Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences.
Information Systems and Network Engineering Laboratory I DR. KEN COSH WEEK 1.
Git How to 1. Why Git To resolve problems in lab exams (accidental deletions) Use existing Libraries with ease (Statistics and Computer) Prepare undergraduates.
Review for Eclipse Release Review | © 2012 by Review for Eclipse Committers, made available under the EPL v1.0 1 Review for Eclipse (R4E) 0.11 Release.
Using Git with collaboration, code review, and code management for open source and private projects. & Using Terminal to create, and push commits to repositories.
1 Ivan Marsic Rutgers University LECTURE 2: Software Configuration Management.
Installing git In Linux: sudo apt-get install git In Windows: download it from run the setuphttp://git-scm.com/download/win.
BIT 285: ( Web) Application Programming Lecture 07 : Tuesday, January 27, 2015 Git.
MASS C++ Updates JENNIFER KOWALSKY, What is MASS? Multi-Agent Spatial Simulation A library for parallelizing simulations and data analysis Uses.
IBM Worklight environment setup 1. Eclipse IDE Multi-purpose integrated development environment (IDE) Open source Supported for Windows, Mac OS X, Linux.
Anjana & Shankar September,2010 Introduction to Programming Tools.
CS5220 Advanced Topics in Web Programming Version Control with Git
Git primer Landon Cox January 19, 2017.
Information Systems and Network Engineering Laboratory II
External Web Services Quick Start Guide
LECTURE 2: Software Configuration Management
Integration Methodology and Procedures
CS5220 Advanced Topics in Web Programming Version Control with Git
Software Testing With Testopia
Macaualy2 Workshop Berkeley 2017
Akshay Narayan git up to speed with RCS Akshay Narayan
LECTURE 3: Software Configuration Management
SIG: Open Week 1: GitHub Tim Choh.
Git-Github Tools Prepared for COP4331. Git-Github Tools Prepared for COP4331.
Getting Started with Contribution to Openstack
With Some Eclipse Tricks included.
Getting Started with Git and Bitbucket
Using Github.
Cordova & Cordova Plugin Installation and Management
LESSON 01 Hands-on Training Execution
Introduction to Git and GitHub
Installing and running the local check and grader projects in Eclipse
Git GitHub.
Java Code Review with CheckStyle
Git in Visual Studio.
Presentation transcript:

Development Environment Matthew Sell, CSSE Student MASS Research Participant, October 2014

 Brief Project Management Review  Obtaining MASS  Reporting issues  Building MASS  Contributions / Workflow

 CMMI is a good model TARGET

Revision Control Automation Unit Testing Issue Tracking Documentation

Issue Management Development Build Automation Unit TestingRepository

 C++, CUDA: From Git repository, build it yourself    Java: From Git: s From Jenkins: From Maven/Artifactory (as a dependency in your project) Coming soon: look for links on DSL homepage

 Enhancements, Bugs, Tasks – all are “issues”  Need a developer account – request from Prof. Fukuda or Matthew Sell  Professor Fukuda:  Matthew Sell:  Redmine issue tracker  Report issues on tools and MASS Tools: Artifactory, Git, Jenkins, Redmine MASS: C++, CUDA, Java Coming soon: look for links on DSL homepage

 C++, CUDA 1. Clone or update from repository 2. Look for build instructions (future!)  Java 1. Set up development environment 2. Clone or update from repository 3. Build within IDE or using Maven commands 4. Look in “target” directory for “MASS.jar”

 Eclipse Install “Egit – Git Team Provider”, and “Maven Integration for Eclipse” plugins from Marketplace  Netbeans Git, Maven support included (try v8.0.0+)  No IDE, or building from command line Install Git Install Maven (  Follow instructions carefully! (path, environment variables, etc)  Test installation: “mvn –version”

 Command line: Build EVERYTHING: 1.From top-level project directory (look for “pom.xml”) 2.mvn package Build MASS-Core ONLY: 1.From “mass-core” subdirectory 2.mvn package  Eclipse: Import Maven Project 1.Everything done for you! (Isn’t Maven neat?!!) Set up Maven build process 1.Right-click “pom.xml”, “Run As”, “Run Configurations”, set “Goals:” to “package”, “Apply” 2.Right-click “pom.xml”, “Run As”, “Maven Build”, enjoy the show!  Netbeans: Ask me later…

 Submit issues via Redmine: Request account Log in to Redmine: Choose the project (click “Projects, upper left) Click “New Issue”, choose “Tracker”  Defect = Bug or “improvement opportunity”  New Feature  Task = Something to be done, not a bug or enhancement  Enhancement = Improvement to an existing feature Enter Detailed description  Steps to reproduce  Environment  Pretend you are the one resolving, what info would you need? Set priority as necessary (in your opinion) and Assignee (if known) Click “Create” or “Create and continue” to add more

 Create an issue in Redmine first!  Reference the issue during your commits “Added unit test to confirm existence of NPE bug during MASS init. This commit references #42.” “Fixed a NPE bug when initializing MASS referencing a non-existent config file. This commit fixes #42.” “Added a unit test to prove NPE gone with bad config filename. This commit closes #42.” Commit keywords:  refs, references, IssueID  fixes, closes

 Create a branch Branch name: your UW net ID and Redmine issue # “mrsell-151” You may push branch to origin or not – your choice (personally, I would…)  Create unit tests! Before fixing a bug, to prove it exists Verify unit test passes after fixing Unit test becomes part of regression test For Java – Jenkins/Maven runs automatically  Merge to “mainline” when finished  Branching “protects” mainline from incomplete and untested work

 Git practice repository  Git setup, usage help On Hercules: /net/metis/home/dslab/Training/GitTraining   Professor Fukuda:  Matthew Sell:  Check DSL homepage for links (future)