Skip to content

Commit 99002b9

Browse files
authored
Merge pull request #86 from NeuroML/development
NeuroML 2.2 release
2 parents f953e6e + fef14db commit 99002b9

File tree

13 files changed

+192
-123
lines changed

13 files changed

+192
-123
lines changed

.classpath

Lines changed: 0 additions & 26 deletions
This file was deleted.

.github/workflows/ci.yml

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# This workflow will build a Java project with Maven
2+
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
3+
4+
name: Java CI with Maven
5+
6+
on:
7+
push:
8+
branches: [ master, development, experimental, osb* ]
9+
pull_request:
10+
branches: [ master, development, experimental, osb* ]
11+
12+
jobs:
13+
build_and_test:
14+
15+
runs-on: ${{ matrix.runs-on }}
16+
strategy:
17+
fail-fast: false
18+
matrix:
19+
java: [ '8', '11', '16', '17' ]
20+
runs-on: [ubuntu-latest, macos-11, windows-latest ]
21+
22+
name: Test on Java ${{ matrix.Java }} on ${{ matrix.runs-on }}
23+
steps:
24+
- uses: actions/checkout@v2
25+
- name: Set up JDK ${{ matrix.Java }}
26+
uses: actions/setup-java@v2
27+
with:
28+
java-version: ${{ matrix.Java }}
29+
distribution: 'adopt'
30+
31+
- name: Install using getNeuroML.py (non Win)
32+
if: ${{ matrix.runs-on != 'windows-latest' }}
33+
run: |
34+
export main_repo_branch=${{env.main_repo_branch}}
35+
if [[ ${main_repo_branch} != "master" && ${main_repo_branch} != "development" && ${main_repo_branch} != "experimental" && ${main_repo_branch} != *"osb"* ]]; then main_repo_branch=development ; fi
36+
echo Using branch $main_repo_branch
37+
38+
python getNeuroML.py $main_repo_branch -dont_switch_jneuroml_branch # will call mvn install on this & other repos
39+
mvn dependency:tree
40+
./jnml -v
41+
42+
- name: Install using getNeuroML.py (Win)
43+
if: ${{ matrix.runs-on == 'windows-latest' }}
44+
run: |
45+
$env:main_repo_branch=$env:GITHUB_REF_NAME
46+
if ( $env:main_repo_branch -ne "master" -and $env:main_repo_branch -ne "development" -and $env:main_repo_branch -ne "experimental" -and $env:main_repo_branch -notlike '*osb*' ) { $env:main_repo_branch="development" }
47+
echo "Using branch $env:main_repo_branch..."
48+
49+
python getNeuroML.py $env:main_repo_branch -dont_switch_jneuroml_branch # will call mvn install on this & other repos
50+
51+
mvn dependency:tree
52+
.\jnml.bat -v
53+
54+
- name: Further tests (non Win)
55+
if: ${{ matrix.runs-on != 'windows-latest' }}
56+
run: |
57+
pwd
58+
ls -alt
59+
mkdir results
60+
./jnml -validate ../NeuroML2/examples/NML2_FullNeuroML.nml # Test validate
61+
./jnml ../NeuroML2/LEMSexamples/LEMS_NML2_Ex9_FN.xml -nogui # Test running with jLEMS
62+
./jnml ../NeuroML2/LEMSexamples/LEMS_NML2_Ex5_DetCell.xml -nogui
63+
./jnml ../NeuroML2/LEMSexamples/LEMS_NML2_Ex9_FN.xml -neuron
64+
./jnml ../NeuroML2/LEMSexamples/LEMS_NML2_Ex9_FN.xml -brian
65+
./jnml ../NeuroML2/LEMSexamples/LEMS_NML2_Ex9_FN.xml -sedml
66+
./jnml ../NeuroML2/LEMSexamples/LEMS_NML2_Ex9_FN.xml -cvode
67+
./jnml ../NeuroML2/LEMSexamples/LEMS_NML2_Ex9_FN.xml -matlab
68+
./jnml ../NeuroML2/LEMSexamples/LEMS_NML2_Ex9_FN.xml -dlems
69+
./jnml ../NeuroML2/LEMSexamples/regression-tests/LEMS_NML2_Ex5_DetCell_unformatted.xml -nogui
70+
./jnml ../NeuroML2/examples/NML2_SimpleMorphology.nml -svg
71+
ls -alt ../NeuroML2/examples
72+
ls -alt ../NeuroML2/LEMSexamples
73+
74+
- name: Further tests (Win)
75+
if: ${{ matrix.runs-on == 'windows-latest' }}
76+
run: |
77+
pwd
78+
mkdir results
79+
.\jnml.bat -validate ..\NeuroML2\examples\NML2_FullNeuroML.nml # Test validate
80+
.\jnml.bat ..\NeuroML2\LEMSexamples\LEMS_NML2_Ex9_FN.xml -nogui # Test running with jLEMS
81+
.\jnml.bat ..\NeuroML2\LEMSexamples\LEMS_NML2_Ex5_DetCell.xml -nogui
82+
.\jnml.bat ..\NeuroML2\LEMSexamples\LEMS_NML2_Ex9_FN.xml -neuron
83+
.\jnml.bat ..\NeuroML2\LEMSexamples\LEMS_NML2_Ex9_FN.xml -brian
84+
.\jnml.bat ..\NeuroML2\LEMSexamples\LEMS_NML2_Ex9_FN.xml -sedml
85+
.\jnml.bat ..\NeuroML2\LEMSexamples\LEMS_NML2_Ex9_FN.xml -cvode
86+
.\jnml.bat ..\NeuroML2\LEMSexamples\LEMS_NML2_Ex9_FN.xml -matlab
87+
.\jnml.bat ..\NeuroML2\LEMSexamples\LEMS_NML2_Ex9_FN.xml -dlems
88+
.\jnml.bat ..\NeuroML2\LEMSexamples\regression-tests\LEMS_NML2_Ex5_DetCell_unformatted.xml -nogui
89+
.\jnml.bat ..\NeuroML2\examples\NML2_SimpleMorphology.nml -svg

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,7 @@ src/main/java/META-INF/MANIFEST.MF
1111
.DS_Store
1212
*.*~
1313
*.log
14+
.classpath
15+
.factorypath
16+
.project
17+
.settings/

.project

Lines changed: 0 additions & 23 deletions
This file was deleted.

.settings/org.eclipse.core.resources.prefs

Lines changed: 0 additions & 4 deletions
This file was deleted.

.settings/org.eclipse.jdt.core.prefs

Lines changed: 0 additions & 5 deletions
This file was deleted.

.settings/org.eclipse.m2e.core.prefs

Lines changed: 0 additions & 4 deletions
This file was deleted.

README.md

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
jNeuroML
22
========
33

4+
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4627568.svg)](https://doi.org/10.5281/zenodo.4627568)
5+
[![Java CI with Maven](https://github.com/NeuroML/jNeuroML/actions/workflows/ci.yml/badge.svg)](https://github.com/NeuroML/jNeuroML/actions/workflows/ci.yml)
46
[![GitHub](https://img.shields.io/github/license/NeuroML/jNeuroML)](https://github.com/NeuroML/jNeuroML/blob/master/LICENSE.lesser)
57
[![GitHub pull requests](https://img.shields.io/github/issues-pr/NeuroML/jNeuroML)](https://github.com/NeuroML/jNeuroML/pulls)
68
[![GitHub issues](https://img.shields.io/github/issues/NeuroML/jNeuroML)](https://github.com/NeuroML/jNeuroML/issues)
79
[![GitHub Org's stars](https://img.shields.io/github/stars/NeuroML?style=social)](https://github.com/NeuroML)
810
[![Twitter Follow](https://img.shields.io/twitter/follow/NeuroML?style=social)](https://twitter.com/NeuroML)
11+
[![Gitter](https://badges.gitter.im/NeuroML/community.svg)](https://gitter.im/NeuroML/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
912

1013

11-
There are a number of repositories in active development under GitHub for handling [NeuroML](https://github.com/NeuroML)
12-
and [LEMS](https://github.com/LEMS) with Java. To make it easier to access all of this functionality, we've created a single package, jNeuroML, which allows access to most of this functionality through a simple command line interface and requires minimal installation.
14+
There are a number of repositories in active development under GitHub for handling [NeuroML](https://github.com/NeuroML)
15+
and [LEMS](https://github.com/LEMS) with Java. To make it easier to access all of this functionality, we've created a single package, jNeuroML, which allows access to most of this functionality through a simple command line interface and requires minimal installation.
1316

1417
jNeuroML can:
1518

@@ -51,8 +54,8 @@ Typing *./jnml* (or *jnml.bat* on Windows) will list the options available. Some
5154
./jnml MyLEMS.xml -graph (generate png of structure of LEMS model using GraphViz)
5255
./jnml MyLEMS.xml -neuron (generate code to run on the NEURON simulator)
5356

54-
Export and import features for [NEURON](http://www.neuron.yale.edu/neuron/), [SBML](http://sbml.org),
55-
[Brian](http://www.briansimulator.org/) etc. are under active development (see https://github.com/NeuroML/org.neuroml.export
57+
Export and import features for [NEURON](http://www.neuron.yale.edu/neuron/), [SBML](http://sbml.org),
58+
[Brian](http://www.briansimulator.org/) etc. are under active development (see https://github.com/NeuroML/org.neuroml.export
5659
and https://github.com/NeuroML/org.neuroml.import).
5760

5861
**Note:**
@@ -63,35 +66,34 @@ Adding the environment variable *JNML_HOME*, pointing to the *jNeuroML* folder,
6366
Getting the source for jNeuroML
6467
-------------------------------
6568

66-
If you prefer to clone all of the individual repositories and build the jNeuroML application yourself,
69+
If you prefer to clone all of the individual repositories and build the jNeuroML application yourself,
6770
use the [getNeuroML.py](https://github.com/NeuroML/jNeuroML/blob/master/getNeuroML.py) utility in the jNeuroML repo:
6871

6972
git clone git://github.com/NeuroML/jNeuroML.git neuroml_dev/jNeuroML
7073
cd neuroml_dev/jNeuroML
7174
python getNeuroML.py
7275

73-
This will clone ~11 repos for NML2 & LEMS (including Python based libraries) into *neuroml_dev/* and compile
76+
This will clone ~11 repos for NML2 & LEMS (including Python based libraries) into *neuroml_dev/* and compile
7477
the Java based ones using Maven (download [here](http://maven.apache.org/) or use package managers for Linux (e.g. apt-get install maven) or Mac (brew install maven)). The full process may take 5-10 mins on first installation, but subsequently running:
7578

7679
git pull
7780
python getNeuroML.py
7881

79-
in the jNeuroML folder will get the stable version of each repo & compile using Maven if necessary.
82+
in the jNeuroML folder will get the stable version of each repo & compile using Maven if necessary.
8083

8184
**To access the very latest version** (the [development](https://github.com/NeuroML/jNeuroML/tree/development) branches of the GitHub repos) use:
8285

8386
python getNeuroML.py clean
8487
python getNeuroML.py development
8588

86-
Use of Maven is a great way to manage versions of applications being developed in distributed repositories,
87-
and will make it easy to use selected parts of this for different Java applications. For example, these packages
89+
Use of Maven is a great way to manage versions of applications being developed in distributed repositories,
90+
and will make it easy to use selected parts of this for different Java applications. For example, these packages
8891
will be used in various ways to provide NeuroML/LEMS support in [neuroConstruct](http://www.neuroConstruct.org) and for handling NeuroML on the [Open Source Brain website](http://www.OpenSourceBrain.org).
8992

9093
Prefer Python?
9194
--------------
9295

9396
If you prefer using/installing/coding in Python, try out [pyNeuroML](https://github.com/NeuroML/pyNeuroML). Much of the functionality of jNeuroML is bundled inside pyNeuroML and can be accessed with a command line utility (*pynml*) with similar usage as *jnml*.
9497

95-
[![Build Status](https://travis-ci.com/NeuroML/jNeuroML.png?branch=master)](https://travis-ci.com/NeuroML/jNeuroML)
9698

9799
This code is distributed under the terms of the GNU Lesser General Public License.

0 commit comments

Comments
 (0)