Native libraries project formats
kevinresol opened this issue · comments
Information about each target's native project format and library distribution format.
For use in the toolchain. (Auto create native project, submission helpers, etc).
Target | Project Format | Distribution Format | Repo / Manager | Getting Started | Submit |
---|---|---|---|---|---|
JS/Node.js | package.json | source | npm | npm init |
npm publish |
C# | .nuspec | dll | NuGet | ||
Java | gradle, buck | jar, aar | maven, jcenter | ||
Python | ? | source | pip | ||
Lua | ? | source | LuaRocks | ||
C++ | ? | source static/dyn lib |
? | ||
AS3 | ? | source, swc | ? | ||
PHP | composer.json | source | composer | composer init |
packagist.org |
Note: If anyone knows the missing information, please comment below and I will update accordingly.
PHP
Project Format: composer.json
Repo / Manager: composer
Getting Started: composer init
Submit: through packagist.org, releases are automatically fetched from a public repository (source must be comitted)
Also, AS3 is probably easiest to be distributed through an .swc file: http://old.haxe.org/manual/swc
Argh, right, I actually mean swc instead of swf :p
C#: NuGet
Lua: LuaRocks
Python: pip
I'll do some more research on project formats, although CMake is a good option for C++
apt-get
is one way to distribute C++ libs.
Another issue is the mass of platform settings.
- C# comes in different flavors... for Windows, Linux, Framework X.Y.Z, Net Standard X.Y...
- Java 1.6, 1.7... and so on
- Python 2.7 or 3.X
It would be great to have an own package distribution server for each platform, I guess.
For most targets you have actually two options
- Compile the native code
- Compile C code and create bindings, which should be faster I guess.
In C# there exists "dotnet new ..." to create new applications.