Conference article

Where impact got <em>Go</em>ing

Michael Tiller
Xogeny Inc., USA

Dietmar Winkler
Telemark University College, Norway

Download articlehttp://dx.doi.org/10.3384/ecp15118725

Published in: Proceedings of the 11th International Modelica Conference, Versailles, France, September 21-23, 2015

Linköping Electronic Conference Proceedings 118:78, p. 725-736

Show more +

Published: 2015-09-18

ISBN: 978-91-7685-955-1

ISSN: 1650-3686 (print), 1650-3740 (online)

Abstract

This paper discusses the impact package manager. The primary goal of this project is to support the development of a healthy eco-system around Modelica. For many other languages, the existence of an easy to use package manager has made it easier for people to explore and adopt those languages. We seek to bring that same kind of capability to the Modelica community by incorporating useful features from other package managers like bower, npm, etc. This paper is an update on the status of the impact package manager which was discussed previously in (Tiller and Winkler 2014). This latest version of impact involves a complete rewrite that incorporates a more advanced dependency resolution algorithm. That dependency resolution will be discussed in depth along with many of the subtle issues that arose during the development of this latest version of impact. Along with a superior dependency resolution scheme, the new version of impact is much easier to install and use. Furthermore, it includes many useful new features as well.

Keywords

Modelica; package management; GitHub; dependency resolution; golang

References

Boender, Jaap (2011). “A formal study of Free Software distributions”. PhD thesis. Université Paris-Diderot-Paris VII.

Go-Developers (2014). The Go Programming Language Specification. URL: http://golang.org/ref/spec.

GitHub (2014). Build software better, together. URL: https://github.com/.

GitHub-Blog (2013). Release Your Software. URL: https://github.com/blog/1547-release-your-software.

GitHub-Developers (2014). GitHub API v3. URL: http://developer.github.com/v3/.

GitHub-Help (2015a). Creating Releases. URL: https://help.github.com/articles/creating-releases/.

– (2015b). Getting the download count for your releases. URL: https://help.github.com/articles/getting-the-download-count-for-your-releases.

Hillegeer, Nicolas (2015). aktau/github-release. URL: https://github.com/aktau/github-release.

Modelica Association (2008). Modelica Licence Version 2.0. URL: https://modelica.org /licenses/ModelicaLicense2.

– (2013). Modelica - Free library from the Modelica Association. URL: https://github.com /modelica/Modelica.

– (2015). Functional Mock-up Interface. URL: https: //fmi-standard.org.

Open Source Initiative (2015). Licenses. URL: http://opensource.org/licenses/.

Preston-Werner, Tom (2014). Semantic Versioning 2.0.0. URL: http://semver.org/.

Riemer, Geert-Johan (2015). go.rice. URL: https://github.com/GeertJohan/go.rice.

StackOverflow (2010). How to install Python ssl module on Windows? URL: http://stackoverflow.com/questions/2261866/how-to-install-python-ssl-module-on-windows.

Tebeka, Miki (2015). nrsc - Resource Compiler for Go. URL: https://bitbucket.org/tebeka/nrsc.

Tiller, Michael (2012). Modelica Change Proposal For Package Handling. URL: https://trac.modelica.org/Modelica/raw-attachment/ticket/573/Package-Proposal_asMCP.doc.

– (2013). Gist of first version of impact.py. URL: https://gist.github.com/xogeny/fac3ea9174e74275e7fe.

Tiller, Michael and Dietmar Winkler (2014). “impact - A Modelica Package Manager”. In: Proceedings of the 10th International Modelica Conference,
March 10-12, 2014, Lund, Sweden. Ed. by Hubertus Tummescheit and Karl-Erik Årzén. Modelica Association. Linköping University Electronic Press, pp. 543–548. URL: http://www.ep.liu.se/ecp/096/057/ecp14096057.pdf.

Xogeny (2015). impact code repository on GitHub. URL: https://github.com/xogeny/impact.

Citations in Crossref