Presentation is loading. Please wait.

Presentation is loading. Please wait.

This material is based upon work supported by the U.S. Department of Energy Office of Science under Cooperative Agreement DE-SC0000661, the State of Michigan.

Similar presentations


Presentation on theme: "This material is based upon work supported by the U.S. Department of Energy Office of Science under Cooperative Agreement DE-SC0000661, the State of Michigan."— Presentation transcript:

1 This material is based upon work supported by the U.S. Department of Energy Office of Science under Cooperative Agreement DE-SC0000661, the State of Michigan and Michigan State University. Michigan State University designs and establishes FRIB as a DOE Office of Science National User Facility in support of the mission of the Office of Nuclear Physics. Dylan Maxwell Software Engineer Building OpenXAL using Gradle

2 I am NOT an expert! Disclaimer D. Maxwell, OpenXAL Workshop, March 2014, Slide 2

3 From the Gradle website: http://www.gradle.org  Uses the Groovy scripting language to provide DSL  Build system for the Android operation system http://tools.android.com/tech-docs/new-build-system http://www.youtube.com/watch?v=LCJAgPkpmR0  Integrates with both ANT and Maven-based projects Gradle D. Maxwell, OpenXAL Workshop, March 2014, Slide 3

4 Gradle  Configuration using Groovy  Android, etc.  Multi-Project Support  Task Oriented (like Make)  Good Documentation  Open Source  Slower Comparison D. Maxwell, OpenXAL Workshop, March 2014, Slide 4 Maven  Configuration using XML  De-facto Standard w/ Java  Can be Done (but not Easily!)  Uses Plugins and Build Stages  Documentation  Open Source  Slow *Completely my Subjective Opinions

5 Build Overview D. Maxwell, OpenXAL Workshop, March 2014, Slide 5 Clone Source Repositories Clone Source Repositories Resolve Dependencies (Local and Remote) Resolve Dependencies (Local and Remote) Compile Run Tests Build Eclipse Projects Package Compile Tests

6  build.gradle  settings.gradle  gradle.properties  ~/.gradle/gradle.properties  core.gradle  app.degauss.gradle  Service.degauss.gradle  Extension.emweb.gradle  … Gradle Files D. Maxwell, OpenXAL Workshop, March 2014, Slide 6 Standard Gradle Project Files Standard Gradle Config Files Gradle Project Files for Subprojects

7 build.gradle (1) D. Maxwell, OpenXAL Workshop, March 2014, Slide 7

8 build.gradle (2) D. Maxwell, OpenXAL Workshop, March 2014, Slide 8

9 core.gradle D. Maxwell, OpenXAL Workshop, March 2014, Slide 9

10  Dependency Examples:  Move resource NOT in package hierarchy: Other Snippets D. Maxwell, OpenXAL Workshop, March 2014, Slide 10

11  Creates a Windows executable  Available on Linux, Mac OS X, Windows  Can select a preferred version of Java  http://launch4j.sourceforge.net  Configuration (using Gradle): Launch4j Support D. Maxwell, OpenXAL Workshop, March 2014, Slide 11

12  Creates projects that can be imported to Eclipse  Configures projects correctly with dependences  Works with both Java and Web Projects  Builds within the IDE still work as expected Eclipse Support D. Maxwell, OpenXAL Workshop, March 2014, Slide 12

13 Questions D. Maxwell, OpenXAL Workshop, March 2014, Slide 13


Download ppt "This material is based upon work supported by the U.S. Department of Energy Office of Science under Cooperative Agreement DE-SC0000661, the State of Michigan."

Similar presentations


Ads by Google