Skip to content

bicycle1885/PkgDev.jl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Julia Package Development Kit (PDK)

Build StatusBuild status

PkgDev.jl provides a set of tools for a developer to create, maintain and register packages in Julia package repository, a.k.a. METADATA.

Requirements

For closer integration with GitHub API, PkgDev.jl requires curl to be installed.

Usage

register(pkg, [url])

Register pkg at the git URL url, defaulting to the configured origin URL of the git repository Pkg.dir(pkg).

tag(pkg, [ver, [commit]])

Tag commit as version ver of package pkg and create a version entry in METADATA. If not provided, commit defaults to the current commit of the pkg repository. If ver is one of the symbols :patch, :minor, :major the next patch, minor or major version is used. If ver is not provided, it defaults to :patch.

publish()

For each new package version tagged in METADATA not already published, make sure that the tagged package commits have been pushed to the repository at the registered URL for the package and if they all have, open a pull request to METADATA.

generate(pkg, license)

Generate a new package named pkg with one of the bundled license: "MIT", "BSD", "ASL" or "MPL". If you want to make a package with a different license, you can edit it afterwards. Generate creates a git repository at Pkg.dir(pkg) for the package and inside it LICENSE.md, README.md, REQUIRE, the julia entrypoint $pkg/src/$pkg.jl, and Travis and AppVeyor CI configuration files .travis.yml and appveyor.yml.

Keyword parameters:

  • path - a location where the package will be generated, the default location is Pkg.dir()
  • travis - enables generation of the .travis.yml configuration for Travis CI service, the default value is true.
  • appveyor - enables generation of the appveyor.yml configuration for Appveyor service, the default value is true.
  • coverage - enables generation of a code coverage reporting to Coveralls and Codecov services, default value is true.

license([lic])

List all bundled licenses. If a license label specified as a parameter then a full text of the license will be printed.

freeable([io])

Returns a list of packages which are good candidates for Pkg.free. These are packages for which you are not tracking the tagged release, but for which a tagged release is equivalent to the current version. You can use Pkg.free(PkgDev.freeable()) to automatically free all such packages.

This also prints (to io, defaulting to standard output) a list of packages that are ahead of a tagged release, and prints the number of commits that separate them. It can help discover packages that may be due for tagging.

About

Julia Package Development Kit

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Julia 100.0%