All Projects → majkinetor → au-packages-template

majkinetor / au-packages-template

Licence: MIT license
Template repository for Chocolatey Automatic Package Updater Module

Programming Languages

powershell
5483 projects

Projects that are alternatives of or similar to au-packages-template

LiveReloadServer
A self-contained, local, cross-platform, static file Web Server with automatic Live Reloading, Markdown rendering and loose Razor Pages support.
Stars: ✭ 69 (+130%)
Mutual labels:  chocolatey
homebrew-cheminformatics
Cheminformatics formulae for the Homebrew package manager
Stars: ✭ 19 (-36.67%)
Mutual labels:  packages
thanker
Don't be a wanker, be a thanker! Automatically give thanks to Pypi packages you use in your project.
Stars: ✭ 25 (-16.67%)
Mutual labels:  packages
vanat
🔨 Dependency Manager for Vala 🚧 App under development!
Stars: ✭ 14 (-53.33%)
Mutual labels:  packages
package-wizard
Package Wizard is a library for creating a new packages using CLI tool.
Stars: ✭ 61 (+103.33%)
Mutual labels:  packages
pakket
The last package manager macOS will ever need. Simple, functional, and fast.
Stars: ✭ 20 (-33.33%)
Mutual labels:  packages
tcl-modules
A collection of pure Tcl, production-ready micro packages
Stars: ✭ 25 (-16.67%)
Mutual labels:  packages
source
Onion's fork of OpenWRT's source build system. The firmware for the Omega2, Omega2+, and Omega2 Pro is based on the openwrt-18.06 branch.
Stars: ✭ 73 (+143.33%)
Mutual labels:  packages
goproxy
go modules proxy. 墙内学习go语言的第一步 自建goproxy代理. 部署到 heroku
Stars: ✭ 22 (-26.67%)
Mutual labels:  packages
risk assessment
Risk Assessment App
Stars: ✭ 42 (+40%)
Mutual labels:  packages
pypi-simple
PyPI Simple Repository API client library
Stars: ✭ 21 (-30%)
Mutual labels:  packages
react-native-curated
💁‍♂️ Hand picked collection of packages, tutorials and more for React Native.
Stars: ✭ 43 (+43.33%)
Mutual labels:  packages
choco
Chocolatey - the package manager for Windows
Stars: ✭ 8,643 (+28710%)
Mutual labels:  chocolatey
rdocumentation-2.0
📚 RDocumentation provides an easy way to search the documentation for every version of every R package on CRAN and Bioconductor.
Stars: ✭ 197 (+556.67%)
Mutual labels:  packages
Awesome-Nuget-Packages
📦 A collection of awesome and top .NET packages sorted by most popular needs.
Stars: ✭ 87 (+190%)
Mutual labels:  packages
rabbitmq-server-release
RabbitMQ packaging and release engineering bits that do not belong to the Concourse pipelines.
Stars: ✭ 13 (-56.67%)
Mutual labels:  packages
winsys
STATUS: DEVELOPMENT PAUSED ⏸️ - Configure your Windows
Stars: ✭ 56 (+86.67%)
Mutual labels:  chocolatey
npm-unpkg
A web application to view npm package files, Based on unpkg.
Stars: ✭ 82 (+173.33%)
Mutual labels:  packages
TfsCmdlets
PowerShell Cmdlets for Azure DevOps and Team Foundation Server
Stars: ✭ 75 (+150%)
Mutual labels:  chocolatey
intellij-idea-community
Unofficial .deb packages of IntelliJ IDEA Community Edition. This is a mirror of
Stars: ✭ 32 (+6.67%)
Mutual labels:  packages
<!-- EDIT ME-->

[![](https://ci.appveyor.com/api/projects/status/github/YOUR_GITHUB_USERNAME_HERE/chocolatey-packages?svg=true)](https://ci.appveyor.com/project/YOUR_GITHUB_USERNAME_HERE/chocolatey-packages)
[Update status](https://gist.github.com/YOUR_GITHUB_USERNAME_HERE/YOUR_GIST_ID_HERE)
[![](http://transparent-favicon.info/favicon.ico)](#)
[chocolatey/YOUR_CHOCOLATEY_USERNAME_HERE](https://chocolatey.org/profiles/YOUR_CHOCOLATEY_USERNAME_HERE)

<!-- EDIT ME-->
<!-- REMOVE THE squiggles "~" surrounding this (this should not be a code block) -->

This repository contains chocolatey automatic packages.
The repository is setup so that you can manage your packages entirely from the GitHub web interface (using AppVeyor to update and push packages) and/or using the local repository copy.

Prerequisites

To run locally you will need:

In order to setup AppVeyor update runner please take a look at the AU wiki AppVeyor section.

Create a package

To create a new package see Creating the package updater script.

Testing the package

In a package directory run: Test-Package. This function can be used to start testing in chocolatey-test-environment via Vagrant parameter or it can test packages locally.

Automatic package update

Single package

Run from within the directory of the package to update that package:

cd <package_dir>
./update.ps1

If this script is missing, the package is not automatic.
Set $au_Force = $true prior to script call to update the package even if no new version is found.

Multiple packages

To update all packages run ./update_all.ps1. It accepts few options:

./update_all.ps1 -Name a*                         # Update all packages which name start with letter 'a'
./update_all.ps1 -ForcedPackages 'cpu-z copyq'    # Update all packages and force cpu-z and copyq
./update_all.ps1 -ForcedPackages 'copyq:1.2.3'    # Update all packages but force copyq with explicit version
./update_all.ps1 -ForcedPackages 'libreoffice-streams\fresh:6.1.0]'    # Update all packages but force libreoffice-streams package to update stream `fresh` with explicit version `6.1.0`.
./update_all.ps1 -Root 'c:\packages'              # Update all packages in the c:\packages folder

The following global variables influence the execution of update_all.ps1 script if set prior to the call:

$au_NoPlugins = $true        #Do not execute plugins
$au_Push      = $false       #Do not push to chocolatey

You can also call AU method Update-AUPackages (alias updateall) on its own in the repository root. This will just run the updater for the each package without any other option from update_all.ps1 script. For example to force update of all packages with a single command execute:

updateall -Options ([ordered]@{ Force = $true })

Testing all packages

You can force the update of all or subset of packages to see how they behave when complete update procedure is done:

./test_all.ps1                            # Test force update on all packages
./test_all.ps1 'cdrtfe','freecad', 'p*'   # Test force update on only given packages
./test_all.ps1 'random 3'                 # Split packages in 3 groups and randomly select and test 1 of those each time

Note: If you run this locally your packages will get updated. Use git reset --hard after running this to revert the changes.

Pushing To Community Repository Via Commit Message

You can force package update and push using git commit message. AppVeyor build is set up to pass arguments from the commit message to the ./update_all.ps1 script.

If commit message includes [AU <forced_packages>] message on the first line, the forced_packages string will be sent to the updater.

Examples:

  • [AU pkg1 pkg2]
    Force update ONLY packages pkg1 and pkg2.
  • [AU pkg1:ver1 pkg2 non_existent]
    Force pkg1 and use explicit version ver1, force pkg2 and ignore non_existent.

To see how versions behave when package update is forced see the force documentation.

You can also push manual packages with command [PUSH pkg1 ... pkgN]. This works for any package anywhere in the file hierarchy and will not invoke AU updater at all.

If there are no changes in the repository use --allow-empty git parameter:

git commit -m '[AU copyq less:2.0]' --allow-empty
git push

Start using AU with your own packages

To use this system with your own packages do the following steps:

  • Fork this project. If needed, rename it to au-packages.
  • Delete all existing packages.
  • Edit the README.md header with your repository info.
  • Set your environment variables. See AU wiki for details.

Add your own packages now, with this in mind:

  • You can keep both manual and automatic packages together. To get only AU packages any time use Get-AUPackages function (alias lsau or gau)
  • Keep all package additional files in the package directory (icons, screenshots etc.). This keeps everything related to one package in its own directory so it is easy to move it around or remove it.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].