Skip to content

Commit

Permalink
(groupy) new AU package
Browse files Browse the repository at this point in the history
  • Loading branch information
virtualex-itv committed Jul 10, 2023
1 parent c2a3192 commit 9ba8f92
Show file tree
Hide file tree
Showing 5 changed files with 208 additions and 0 deletions.
19 changes: 19 additions & 0 deletions automatic/groupy/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# <img src="https://rawcdn.githack.com/virtualex-itv/chocolatey-packages/c70ce66a5e90c9f91dc924c6c48bee6322ec44f9/icons/groupy.png" width="48" height="48"/> [groupy](https://community.chocolatey.org/packages/groupy)

### Organize multiple applications into grouped tabs on your Windows desktop!

**Key Features**

* **Drag and drop** applications together to group them under a common tabbed interface
* **Organize** multiple applications and documents together for convenient access
* **Group** related tabs together for optimal workflow
* **Save** groups of applications together for future usage
* **Manage** tabs in quick and natural ways with the browser-like interface
* **Add** new tabs to existing groups quickly and easily
* **Mouseover** tabs to preview the window contents
* **Copy** files between Explorer tabs. Drag files to the target tab, pause to switch, and then into the target window.
* **Automatically** group instances of the same application together

NOTE: This is commercial software, and only provides a trial version. Full usage will require the purchase of a license.

**Please Note**: This is an automatically updated package. If you find it is out of date by more than a day or two, please contact the maintainer(s) and let them know the package is no longer updating correctly.
86 changes: 86 additions & 0 deletions automatic/groupy/groupy.nuspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Read this before creating packages: https://docs.chocolatey.org/en-us/create/create-packages -->
<!-- It is especially important to read the above link to understand additional requirements when publishing packages to the community feed aka dot org (https://community.chocolatey.org/packages). -->

<!-- Test your packages in a test environment: https://github.com/chocolatey-community/chocolatey-test-environment -->

<!--
This is a nuspec. It mostly adheres to https://docs.microsoft.com/en-us/nuget/reference/nuspec. Chocolatey uses a special version of NuGet.Core that allows us to do more than was initially possible. As such there are certain things to be aware of:
* the package xmlns schema url may cause issues with nuget.exe
* Any of the following elements can ONLY be used by choco tools - projectSourceUrl, docsUrl, mailingListUrl, bugTrackerUrl, packageSourceUrl, provides, conflicts, replaces
* nuget.exe can still install packages with those elements but they are ignored. Any authoring tools or commands will error on those elements
-->

<!-- You can embed software files directly into packages, as long as you are not bound by distribution rights. -->
<!-- * If you are an organization making private packages, you probably have no issues here -->
<!-- * If you are releasing to the community feed, you need to consider distribution rights. -->
<!-- Do not remove this test for UTF-8: if “Ω” doesn’t appear as greek uppercase omega letter enclosed in quotation marks, you should use an editor that supports UTF-8, not this one. -->
<package xmlns="http://schemas.microsoft.com/packaging/2015/06/nuspec.xsd">
<metadata>
<!-- == PACKAGE SPECIFIC SECTION == -->
<!-- This section is about this package, although id and version have ties back to the software -->
<!-- id is lowercase and if you want a good separator for words, use '-', not '.'. Dots are only acceptable as suffixes for certain types of packages, e.g. .install, .portable, .extension, .template -->
<!-- If the software is cross-platform, attempt to use the same id as the debian/rpm package(s) if possible. -->
<id>groupy</id>
<!-- version should MATCH as closely as possible with the underlying software -->
<!-- Is the version a prerelease of a version? https://docs.microsoft.com/en-us/nuget/concepts/package-versioning#creating-prerelease-packages -->
<!-- Note that unstable versions like 0.0.1 can be considered a released version, but it's possible that one can release a 0.0.1-beta before you release a 0.0.1 version. If the version number is final, that is considered a released version and not a prerelease. -->
<version>1.50</version>
<!-- owners is a poor name for maintainers of the package. It sticks around by this name for compatibility reasons. It basically means you. -->
<owners>virtualex elerador</owners>
<!-- ============================== -->

<!-- == SOFTWARE SPECIFIC SECTION == -->
<!-- This section is about the software itself -->
<title>Groupy</title>
<authors>Stardock</authors>
<!-- projectUrl is required for the community feed -->
<projectUrl>https://www.stardock.com/products/groupy/</projectUrl>
<iconUrl>https://rawcdn.githack.com/virtualex-itv/chocolatey-packages/c70ce66a5e90c9f91dc924c6c48bee6322ec44f9/icons/groupy.png</iconUrl>
<!-- copyright is usually years and software vendor, but not required for internal feeds -->
<copyright>Copyright © 2023 Stardock</copyright>
<tags>stardock objectdesktop suite groupy administrative tabs explorer trial</tags>
<releaseNotes>https://www.stardock.com/products/groupy/history</releaseNotes>
<licenseUrl>https://www.stardock.com/support/software-eula</licenseUrl>
<packageSourceUrl>https://github.com/virtualex-itv/chocolatey-packages/tree/master/automatic/groupy</packageSourceUrl>
<docsUrl>https://forums.stardock.com/forum/1170</docsUrl>
<summary>Organize multiple applications into grouped tabs on your Windows desktop in Windows 10 and 11</summary>
<description>### Organize multiple applications into grouped tabs on your Windows desktop!
**Key Features**
* **Drag and drop** applications together to group them under a common tabbed interface
* **Organize** multiple applications and documents together for convenient access
* **Group** related tabs together for optimal workflow
* **Save** groups of applications together for future usage
* **Manage** tabs in quick and natural ways with the browser-like interface
* **Add** new tabs to existing groups quickly and easily
* **Mouseover** tabs to preview the window contents
* **Copy** files between Explorer tabs. Drag files to the target tab, pause to switch, and then into the target window.
* **Automatically** group instances of the same application together

NOTE: This is commercial software, and only provides a trial version. Full usage will require the purchase of a license.

**Please Note**: This is an automatically updated package. If you find it is out of date by more than a day or two, please contact the maintainer(s) and let them know the package is no longer updating correctly.
</description>

<!-- =============================== -->

<!-- Specifying dependencies and version ranges? https://docs.microsoft.com/en-us/nuget/concepts/package-versioning#specifying-version-ranges-in-.nuspec-files -->

<!--<dependencies>
<dependency id="" />
<dependency id="" version="__MINIMUM_VERSION__" />
<dependency id="" version="[__EXACT_VERSION__]" />
<dependency id="" version="[_MIN_VERSION_INCLUSIVE, MAX_VERSION_INCLUSIVE]" />
<dependency id="" version="[_MIN_VERSION_INCLUSIVE, MAX_VERSION_EXCLUSIVE)" />
</dependencies>-->
<!--<provides>NOT YET IMPLEMENTED</provides>-->
<!--<conflicts>NOT YET IMPLEMENTED</conflicts>-->
<!--<replaces>NOT YET IMPLEMENTED</replaces>-->
</metadata>
<!-- this section controls what actually gets packaged into the Chocolatey package -->
<!-- Uncomment to limit what is packed in -->
<files>
<file src="tools\**" target="tools" />
</files>
</package>
33 changes: 33 additions & 0 deletions automatic/groupy/tools/chocolateyinstall.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
$ErrorActionPreference = 'Stop'

$toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"

$url = ''
$checksum = ''
$checksumType = ''

$packageArgs = @{
packageName = $env:ChocolateyPackageName
unzipLocation = $toolsDir
fileType = 'exe'
softwareName = "Stardock Groupy*"
url = $url
checksum = $checksum
checksumType = $checksumType
silentArgs = '/S'
validExitCodes = @(0, 9)
}

[version]$OSVer = (Get-WmiObject Win32_OperatingSystem).Version
$min='10.0.10240'

If ( $OSVer -lt [version]$min ) {
Write-Warning "*** Stardock $($packageName.substring(0,1).toupper()+$packageName.substring(1).tolower()) requires an OS running Windows 10 or 11... ***`n"
throw
}

If (Test-Path ${env:ProgramFiles(x86)}"\Stardock\Groupy\") {
Write-Warning "*** Stardock Groupy was found and will be uninstalled automagically. ***`n"
}

Install-ChocolateyPackage @packageArgs
34 changes: 34 additions & 0 deletions automatic/groupy/tools/chocolateyuninstall.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
$ErrorActionPreference = 'Stop'
$packageArgs = @{
packageName = $env:ChocolateyPackageName
softwareName = "Stardock Groupy*"
fileType = 'exe'
silentArgs = '"/U:' + ${env:ProgramFiles(x86)} + '\Stardock\Groupy\Uninstall\uninstall.xml"'
validExitCodes= @(0, 3010, 1605, 1614, 1641)
}

$uninstalled = $false
[array]$key = Get-UninstallRegistryKey -SoftwareName $packageArgs['softwareName']

if ($key.Count -eq 1) {
$key | ForEach-Object {
$packageArgs['file'] = "$($_.UninstallString)"
if ($packageArgs['fileType'] -eq 'MSI') {
$packageArgs['silentArgs'] = "$($_.PSChildName) $($packageArgs['silentArgs'])"

$packageArgs['file'] = ''
}

#Uninstall-ChocolateyPackage @packageArgs
Write-Warning "Stardock $($packageName.substring(0,1).toupper()+$packageName.substring(1).tolower()) is about to uninstall. If asked to reboot, select 'No', however, you must reboot prior to reinstalling the package.`n`nSelect [Y] to continue.`n"
${env:ProgramFiles(x86)} + "\Stardock\Groupy\uninstall.exe" + " $($packageArgs['silentArgs'])" #> $null

}
} elseif ($key.Count -eq 0) {
Write-Warning "$packageName has already been uninstalled by other means."
} elseif ($key.Count -gt 1) {
Write-Warning "$($key.Count) matches found!"
Write-Warning "To prevent accidental data loss, no programs will be uninstalled."
Write-Warning "Please alert package maintainer the following keys were matched:"
$key | ForEach-Object {Write-Warning "- $($_.DisplayName)"}
}
36 changes: 36 additions & 0 deletions automatic/groupy/update.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
Import-Module AU
Import-Module "$env:ChocolateyInstall\helpers\chocolateyInstaller.psm1"

$history_page = 'https://www.stardock.com/products/groupy/history'

function global:au_GetLatest {
$releases = Invoke-WebRequest -Uri $history_page -UseBasicParsing

$Url = 'https://cdn.stardock.us/downloads/public/software/groupy/Groupy2_setup.exe'

$re = "Groupy (?<version>[\d\.]+[\d\.]+)"
$version = $releases -match $re | ForEach-Object { $Matches.version }
$ChecksumType = 'sha256'

@{
Url32 = $Url
Version = $version
ChecksumType32 = $ChecksumType
}
}

function global:au_BeforeUpdate {
$Latest.Checksum32 = Get-RemoteChecksum $Latest.Url32 -Algorithm $Latest.ChecksumType32
}

function global:au_SearchReplace {
@{
'tools\chocolateyInstall.ps1' = @{
"(^[$]url\s*=\s*)('.*')" = "`$1'$($Latest.Url32)'"
"(^[$]checksum\s*=\s*)('.*')" = "`$1'$($Latest.Checksum32)'"
"(^[$]checksumType\s*=\s*)('.*')" = "`$1'$($Latest.ChecksumType32)'"
}
}
}

Update-Package -ChecksumFor none

0 comments on commit 9ba8f92

Please sign in to comment.