All Projects → gabrielrobert → xavtool

gabrielrobert / xavtool

Licence: MIT license
Xplat Automating Version Tool

Programming Languages

go
31211 projects - #10 most used programming language
powershell
5483 projects

Projects that are alternatives of or similar to xavtool

Camelotia
Cross-platform .NET sample GUI app for cloud file management. Built with ReactiveUI, AvaloniaUI, Universal Windows Platform, Xamarin Forms, and WPF, runs on Windows, Linux, Mac and Android.
Stars: ✭ 221 (+569.7%)
Mutual labels:  uwp
Malclient
Not so small client app for Myanimelist.net - Windows 10 UWP & Android
Stars: ✭ 253 (+666.67%)
Mutual labels:  uwp
LRReader
A feature-complete reader and client for LANraragi
Stars: ✭ 62 (+87.88%)
Mutual labels:  uwp
Hololenscamerastream
This Unity plugin makes the HoloLens video camera frames available to a Unity app in real time. This enables Unity devs to easily use the HoloLens camera for computer vision (or anything they want).
Stars: ✭ 233 (+606.06%)
Mutual labels:  uwp
React Native Share
Social share, sending simple data to other apps.
Stars: ✭ 2,955 (+8854.55%)
Mutual labels:  uwp
Quick-Pad
Quick Pad is a modern notepad app featuring fluent design
Stars: ✭ 183 (+454.55%)
Mutual labels:  uwp
Myersplash.uwp
Yet anothor simple and elegant photos & wallpaper app for all platforms.
Stars: ✭ 207 (+527.27%)
Mutual labels:  uwp
AsteroidsWasm
Collection of applications based on a single C# .NET Standard project running in: Blazor Client (WebAssembly), Blazor Server, Electron, WPF, WinForms, Xamarin
Stars: ✭ 136 (+312.12%)
Mutual labels:  uwp
Connectivityplugin
Connectivity Plugin for Xamarin and Windows
Stars: ✭ 253 (+666.67%)
Mutual labels:  uwp
semver-explain
Explain semver requirements by converting them into less than, greater than, and/or equal to form.
Stars: ✭ 27 (-18.18%)
Mutual labels:  semver
Control Uwp
🌚🌓Alternative Control Panel for Windows 10
Stars: ✭ 237 (+618.18%)
Mutual labels:  uwp
Sharpcaster
Chromecast C# SDK for Windows, Windows Phone, .NET 4.5.1, Xamarin.iOS and Xamarin.Android platforms.
Stars: ✭ 245 (+642.42%)
Mutual labels:  uwp
EyesGuard
👀 Windows Application for protecting your eyes
Stars: ✭ 217 (+557.58%)
Mutual labels:  uwp
Character Map Uwp
A modern, native UWP replacement for the Win32 Character Map and Windows Font Viewer with flawless high DPI and touch support.
Stars: ✭ 228 (+590.91%)
Mutual labels:  uwp
parquet-viewer-uwp
Viewer for Apache Parquet files for Windows 10
Stars: ✭ 30 (-9.09%)
Mutual labels:  uwp
Xamarin Demos
This repository contains the Syncfusion Xamarin UI control’s samples and the guide to use them.
Stars: ✭ 218 (+560.61%)
Mutual labels:  uwp
Vue-UWP
So you think there is no Javascript Desktop native solution? I'm not so sure about that
Stars: ✭ 18 (-45.45%)
Mutual labels:  uwp
MorseCodeReceiver-UWP
💡 An UWP app which can translate the light sensor data into Morse code on mobile device.
Stars: ✭ 14 (-57.58%)
Mutual labels:  uwp
git-version-bumper
Bump your git tag to the next version, easily. 👊
Stars: ✭ 92 (+178.79%)
Mutual labels:  semver
Retouch-Photo-UWP
Simple and free photo retouching tools,can transform,adjustment, shear,filling images,support layer,the selecti on. If you think that the PS is too complex might as well try.
Stars: ✭ 29 (-12.12%)
Mutual labels:  uwp

Header

Xplat Automating Version Tool

Build status Build Status

Command-line utility to automatically increase iOS / Android / UWP applications version written in Go. It follows Semantic Versioning.

Installation

Windows:

Using Chocolatey:

$ choco install xavtool -version 1.2.1
$ xavtool --version

Using scoop:

$ scoop bucket add gabrielrobert-bucket https://github.com/gabrielrobert/scoop-bucket
$ scoop install xavtool

macOS:

Using brew:

$ brew install gabrielrobert/tap/xavtool
$ xavtool --version

Binaries

Download executables on the release page.

From source:

$ go build
$ go test -v
$ go install
$ xavtool --version

Usage

$ xavtool

NAME:
   xavtool - Command-line utility to automatically increase applications version

USAGE:
   xavtool [global options] command [command options] [arguments...]

VERSION:
   1.2.1

AUTHOR:
   Gabriel Robert <[email protected]>

COMMANDS:
     current, c    List current versions
     increment, i  Increment to next version
     set, s        Set the current project version
     help, h       Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --help, -h     show help
   --version, -v  print the version

increment

$ xavtool increment --help

NAME:
   xavtool increment - Increment to next version

USAGE:
   xavtool increment [command options] [arguments...]

OPTIONS:
   --type value, -t value  major, minor, patch (default: "minor")

set

$ xavtool set --help

NAME:
   xavtool set - Set the current project version

USAGE:
   xavtool set [arguments...]

Typical flow

$ xavtool current
1.0.1 - androidApp (...\test\AndroidManifest.xml)
1.0.1 - iOSApp (...\test\Info.plist)
1.0.1.0 - uwpApp (...\test\Package.appxmanifest)

$ git flow release start '1.1.0'

$ xavtool i
1.0.1: New version: 1.1.0 (...\test\AndroidManifest.xml)
1.0.1: New version: 1.1.0 (...\test\Info.plist)
1.0.1.0: New version: 1.1.0.0 (...\test\Package.appxmanifest)

$ git commit -am "Version bump to 1.1.0"
$ git flow release finish -p

It will update these files:

  • Info.plist
  • AndroidManifest.xml
  • Package.appxmanifest

Results

Info.plist (iOS)

Only these values will be edited:

  1. CFBundleShortVersionString (new version)
  2. CFBundleVersion (new version)

Before:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <!-- ... -->
        <key>CFBundleShortVersionString</key>
        <string>1.0.1</string>
        <key>CFBundleVersion</key>
        <string>1.0.1</string>
        <!-- ... -->
    </dict>
</plist>

After:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <!-- ... -->
        <key>CFBundleShortVersionString</key>
        <string>1.1.0</string>
        <key>CFBundleVersion</key>
        <string>1.1.0</string>
        <!-- ... -->
    </dict>
</plist>

AndroidManifest.xml (Android)

Only these values will be edited:

  1. manifest/@android:versionName (new version)
  2. manifest/@android:versionCode (integer computed this way: (major * 1000000) + (minor * 10000) + (patch * 100))

Before:

<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.xavtool" 
    android:versionCode="1000100"
    android:versionName="1.0.1">
    <!-- ... -->
</manifest>

After:

<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android" 
        package="com.example.xavtool" 
        android:versionCode="1010000" 
        android:versionName="1.1.0">
    <!-- ... -->
</manifest>

Package.appxmanifest (UWP)

Only these values will be edited:

  1. Package/Identity/@Version (new version with a revision number set to 0)

Before:

<?xml version="1.0" encoding="utf-8"?>
<Package
    xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
    xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
    xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" IgnorableNamespaces="uap mp">
    
    <!-- ... -->
    <Identity Name="95748d56-342b-4dae-93f5-aeda0587a1c0" Publisher="CN=gabrielrobert" Version="1.0.1.0"/>
    <!-- ... -->
    
</Package>

After:

<?xml version="1.0" encoding="utf-8"?>
<Package
    xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
    xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
    xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" IgnorableNamespaces="uap mp">
    
    <!-- ... -->
    <Identity Name="95748d56-342b-4dae-93f5-aeda0587a1c0" Publisher="CN=gabrielrobert" Version="1.1.0.0"/>
    <!-- ... -->
    
</Package>

config.xml (Cordova)

Only these values will be edited:

  1. widget/@version (new version)
  2. widget/@ios-CFBundleVersion (new version)
  3. widget/@android-versionCode (integer computed this way: (major * 1000000) + (minor * 10000) + (patch * 100))

Before:

<?xml version="1.0" encoding="utf-8"?>
<widget 
    id="com.example.xavtool" 
    android-versionCode="1000100" 
    ios-CFBundleVersion="1.0.1" 
    version="1.0.1" 
    xmlns="http://www.w3.org/ns/widgets"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:cdv="http://cordova.apache.org/ns/1.0">
  <!-- ... -->
</widget>

After:

<?xml version="1.0" encoding="utf-8"?>
<widget 
    id="com.example.xavtool" 
    android-versionCode="1010000" 
    ios-CFBundleVersion="1.1.0" 
    version="1.1.0" 
    xmlns="http://www.w3.org/ns/widgets"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:cdv="http://cordova.apache.org/ns/1.0">
  <!-- ... -->
</widget>

Support

Please open an issue for support.

Contributing

Please contribute using Github Flow. Create a branch, add commits, and open a pull request.

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].