GenericBucket
GenericBucket copied to clipboard
Deprecated. Use https://github.com/shovel-org/GenericBucket
trafficstars
Generic scoop bucket
❗❗🎉 Repository was converted into Template. See blog for more information. 🎉❗❗
In this repository you will find everything you need to know about creating custom bucket with appveyor support.
- Files and helpers
bucketFolderbinFolderBucket.Tests.ps1File.vscodeFolder.githubFolderconfig files
- How to use and adopt this bucket
Files and helpers
bucket Folder
- All manifests belong here
.gitkeepfile could be removed when you push your first manifest
bin Folder
Scripts which will save you time while debuging and writing manifests.
If you need help how to use them just run Get-Help .\bin\<BINARY>.ps1.
Bucket.Tests.ps1 File
- Test which are executed inside Appveyor pipeline
- Could be configured as
pre_commithook
.vscode Folder
Contains all syntax highlighting, code formating, manifest creating tools you could use.
- Extensions
- All extensions which will save your time while writing manifests are in recommended sections
- You will be notified about installing them when you open project
- Settings
- All settings are set to be compatible with Appveyor pipeline and upstream (official) repositories
- No need to worry about formating restrictions between repositories.
- All settings are set to be compatible with Appveyor pipeline and upstream (official) repositories
- Code snippets
-
Code snippets are templates that make it easier to enter repeating code patterns, such as loops or conditional-statements.
- You could use workspace wide code snippets for speed up manifest creating
- While editing json file write partitial name of snippet and press
tab - Available Json snippets:
app- Create default manifest structure
appArch- Create default manifest structure with full acrchitecture
arch- Create only architecture property with 64bit and 32bit
upAr- Create autoupdate property with architecture
persistCheck,persistInlineContent,persistInlineNoContent- Installer / pre_install script for checking if file is already persisted or need to be created
-
.github Folder
GitHub repository configuration.
workflowsfolder- Linux (legacy) version GitHub Actions configuration for automatic issue/PR/updates handling.
- Windows version of actions could be used for better and future proof implementation (see https://github.com/Ash258/Scoop-GithubActions/tree/main-win for updated configs)
CODEOWNERS- Pull requests will request review for users defined in this file
PULL REQUEST TEMPLATE- Prefilled pull request types with proper titles
ISSUE TEMPLATE- The most used issue templates for users to select and prefilled with required information and labels
config files
.appveyor.yml- Definition of Appveyor CI pipeline
.editorconfig- Universal configuration file, compatible with all types of editors
- Defines how files should look
.gitattributes- Simplifying line endings for git
- No need to configure
auto.clrfsetting on each clone or new workspaces
Bucket.Tests.ps1- Test which are executed inside Appveyor pipeline
- Could be configured as
pre_commithook
How to use and adopt this bucket
- Click on
Use this templateto create new repository in your account with same files - Open project settings and give your bucket in new name
- Add proper description of repository
- Information about what type of manifests could be found here
- Add
scoop-buckettag for repository- Your manifests will be automatically available at https://scoop-docs.now.sh/apps/
- Enable appveyor CI/CD
- Register / Login to Appveyor
- Click
New Project - From Left Panel, choose your source control variant (Github)
- From Right Panel, choose repository with bucket and click
+ Add - 🎉 Project created and ready to build 🎉
- Get Badge URL
- Open Appveyor Project settings
- Navigate to Badges
- Copy
Branch Sample markdown codesnippet for further usage- Only master branch is better, since you can freely test in other branches and do not mystificate users
- You could use alternative styles
- Clone project into some folder
git clone [email protected]:USER/REPO.git MyAwesomeBucket- or
git clone https://github.com/USER/REPO.git MyAwesomeBucket
- Open vscode with this clone
code MyAwesomeBucket
- [optional] Configure remote repository
git remote add 'upstream' 'https://github.com/Ash258/GenericBucket.git'
- This step will allow you to synchronize changes with this template repository
- If some changes are pushed into this repository and you want to reflect them into your bucket, you can simply do something like:
git fetch --allgit checkout -B upstream-master -t upstream/master- Do changes
git merge masteror create PR in github
- Create proper README.md
- Open this README in the browser for reference
- Open
README.template.md - Replace all
%%templatestring%%with real and according values- Replace appveyor status badge with yours
- Override this README with completed
README.template.md - Remove template
README.template.md
- Repository tweaks
- Open
.github\CODEOWNERSand change@Ash258to desired github username - Actions
- Open each file in
.github\workflowsand change[email protected]with your email - Visit https://github.com/Ash258/Scoop-GithubActions for more information
- Open each file in
- Open
- 🎉🎉 Everything set. High quality and automated bucket is ready for new users 🎉🎉