This Java library, piece of Artipie, which allows you to create your own private package repository for Erlang and Elixir.
If you have any question or suggestions, do not hesitate to create an issue or contact us in
Telegram.
Artipie roadmap.
For generate classes, first use the command:
mvn compile
Repository contains two type of files: package - meta-information about package and tarball - archive with package.
When publishing a tar archive, the repository creates(or updates if exist) a package file. Package file is gzipped file that include bytes in protobuf format.
Package consist of:
-- bytes(gzipped bytes):
-- signed(SignedOuterClass.Signed):
-- sign(String)
-- package(PackageOuterClass.Package):
-- name(String)
-- repository(str), default:"artipie"
-- releases(List<PackageOuterClass.Release>):
-- release(PackageOuterClass.Release)
-- version(String)
-- innerchecksum(ByteString)
-- outerchecksum(ByteString)
-- outerchecksum(ByteString)
-- dependencies(List<PackageOuterClass.Dependency>):
-- dependency(PackageOuterClass.Dependency)
-- package(String)
-- requirement(String)
-- repository(str), default:"artipie"
-- optional(Boolean)
More information about structure you can find in proto files.
Tarball contains:
-- contents.tar.gz - gzipped tarball with project contents
-- CHECKSUM - SHA-256 hex-encoded checksum of the included tarball
-- metadata.config - Erlang term file with project's metadata
-- VERSION - tarball version, current version is 3.
More information in tarball specification.
An example with a simple configuration can be found on the Artipie wiki page.
Fork repository, make changes, send us a pull request. We will review
your changes and apply them to the master
branch shortly, provided
they don't violate our quality standards. To avoid frustration, before
sending us your pull request please run full Maven build:
$ mvn clean install -Pqulice
To avoid build errors use Maven 3.2+ and please read contributing rules.