Code Monkey home page Code Monkey logo

umpr.core's Introduction

umpr.core - Umple Sample Importer

Build Status

Umpr is repository tool for managing the automatic importing of different modelling languages into the Umple language. This project seeks to create a single location for downloading and verifying the status of different import mechanisms and the status of the tools doing it.

This project is part of the Umple collection of projects.

Building the Project

Requirements

umpr.core requires the following components:

  1. Apache Ant
  2. Java 8 -- Oracle is tested, OpenJDK is not, but should work.
  3. A pre-built version of Umple -- Umple Cheatsheet, the location of the dist/umple.jar is used in building umpr.core.

Building

  1. Clone the repository git clone https://github.com/umple-ucosp/umpr.core.git
  2. Enter the directory cd umpr.core/
  3. Build the project ant -Dumple.core.jar=PATH/TO/dist/umple.jar
  4. (Optional) Run the tests ant -Dumple.core.jar=PATH/TO/dist/umple.jar test
  5. Package the jars ant -Dumple.core.jar=PATH/TO/dist/umple.jar package

Packages

There are three jars produced:

  • umpr.core-lib-VERSION-COMMIT.jar: Only includes the dependency libraries merged into one JAR
  • umpr.core-VERSION-COMMIT.jar: Only includes the classes defined in umpr.core/
  • umpr.core-all-VERSION-COMMIT.jar: Includes both previous JARS in a single entity

Running umpr.core (a cook book!)

To see all options:

$ java -jar ./bin/target/umpr.core-VERSION-COMMIT.jar --help
Usage: <main class> [options] [Repository1] [.. [RepositoryN]]
Options:
  -h, -?, --help
     Print help message.
     Default: false
  --import, -i
     Folder to save import files to
     Default: Temporary folder
  -l, --limit
     Number of imports to download in total, there are no guarantees to which
     repositories are used or what order. (-1 implies no limit)
     Default: -1
* -o, --output
     Output folder for generated .ump files
  -O, --override
     Force overriding of the output folders, i.e. remove output folder
     contents.
     Default: false

To run with default configurations:

$ java -jar ./bin/target/umpr.core-VERSION-COMMIT.jar -o /DESIRED/OUTPUT/PATH

To run and save the fetched files (e.g. ecore, scxml files):

$ java -jar ./bin/target/umpr.core-VERSION-COMMIT.jar -o /DESIRED/OUTPUT/PATH -i /DESIRED/INPUT/ENTITIES

To run and override all output that is present:

$ java -jar ./bin/target/umpr.core-VERSION-COMMIT.jar -O -o /DESIRED/OUTPUT/PATH -i /DESIRED/INPUT/ENTITIES   

umpr.core's People

Contributors

nava2 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

umpr.core's Issues

Add statistics for repository level and total level

Currently, only the success rate of the file is known. It'd be trivial to add statistics at computation time:

  • Percentage of success and fail per repository
  • Percentage based on category -> state machines vs. class, or ECore vs. SCXML

Improve exception tracking to include stage of failure

Some imported files throw exceptions like: ArrayIndexOutOfBounds which cause the import to fail and the umple file is not created. This causes issues on the front-end, e.g.:
screen shot 2015-03-23 at 20 58 38

This issue involves adding a field "failureStage" or similar which defines when a failure occurred. There are three main stages:

  1. Fetching files from the repository
  2. Importing the file
  3. Loading the imported file into an Umple Model
  4. Unknown -- these would be things like failing to write the file

Additional Repositories

This issue serves as a list of repositories to add to the download list.

  • Apache Common's SCXML implementation's Test fixtures Link
  • uml-profile-store Link

When adding a new repository, create a new issue and link to this one. Edit this issue to create a list as more are found.

Licensing for Data Scraped

Support is necessary for Licenses for media, whether it is FOSS sources or CC, need to properly attribute.

Automatic git commiting

Allow for automatically committing code to the umple-ucosp/umpr.data repository given the credentials are correct.

Considerations:

  • To push to the repository, credentials are required these can not be stored in the repository
  • Command line flag should trigger this, flag would default to not pushing

Useful links:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.