diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 1f5ffd393288..d0475f782c8b 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -7,6 +7,8 @@ Tasks/AndroidSigningV3/ @microsoft/akvelon-build-task-team Tasks/ANTV1/ @microsoft/akvelon-build-task-team +Tasks/ANTV2/ @microsoft/akvelon-build-task-team + Tasks/AppCenterDistributeV1/ @imenkov @lucen-ms @DergachevE Tasks/AppCenterDistributeV2/ @imenkov @lucen-ms @DergachevE diff --git a/Tasks/ANTV2/README.md b/Tasks/ANTV2/README.md new file mode 100644 index 000000000000..8063be7bb416 --- /dev/null +++ b/Tasks/ANTV2/README.md @@ -0,0 +1,31 @@ +# Build your code using Ant in Azure Pipelines + +### Parameters for Ant build task are explained below + +- **Ant Build File :** This is a Required field. Provide relative path from the repository root to the Ant build file. To know more [click here](https://ant.apache.org/manual/using.html#buildfile) + +- **Options :** Provide any options to pass to the Ant command line. You can provide your own properties (for example, `-DmyProperty=myPropertyValue`) and also use built-in variables (for example, `-DcollectionId=$(system.collectionId)`). Alternatively, the built-in variables are already set as environment variables during the build and can be passed directly (for example, `-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%)` To know more [click here](https://ant.apache.org/manual/running.html#options) + +- **Target(s) :** Provide The task(s) for Ant to execute for this build. To know more [click here](https://ant.apache.org/manual/targets.html#targets) + +#### JUnit Test Results +Use the next three options to manage your JUnit test results in Azure Pipelines + +- **Publish to Azure Pipelines/TFS :** Select this option to publish JUnit Test results produced by the Ant build to Azure Pipelines/TFS. Each test result file matching `Test Results Files` will be published as a test run in Azure Pipelines. + +- **Test Results Files :** This option will appear if you select the above option. Here, provide Test results files path. Wildcards can be used. For example, `**/TEST-*.xml` for all xml files whose name starts with `TEST-."` + +- **Test Run Title :** This option will appear if you select the `Publish to Azure Pipelines/TFS` option. Here provide a name for the Test Run + +#### Advanced +Use the next options to manage your `ANT_HOME` and `JAVA_HOME` attributes + +- **Set ANT_HOME Path :** If set, overrides any existing `ANT_HOME` environment variable with the given path. + +- **Set JAVA_HOME by :** Select to set `JAVA_HOME` either by providing a path or let Azure Pipelines set the `JAVA_HOME` based on JDK version choosen. By default it is set to `JDK Version` + +- **JDK Version/Path :** Here provide the PATH to `JAVA_HOME` if you want to set it by path or select the appropriate JDK version. + +- **JDK Architecture :** Select the approriate JDK Architecture. By default it is set to `x86` + +**We are discontinuing the support of automated Code Coverage report generation for Ant projects starting Sprint 107 deployment of Azure Pipelines and for Team Foundation Server “15”. Please enable Code Coverage in your Ant build.xml file manually.** diff --git a/Tasks/ANTV2/Strings/resources.resjson/de-DE/resources.resjson b/Tasks/ANTV2/Strings/resources.resjson/de-DE/resources.resjson new file mode 100644 index 000000000000..f26827b74c49 --- /dev/null +++ b/Tasks/ANTV2/Strings/resources.resjson/de-DE/resources.resjson @@ -0,0 +1,34 @@ +{ + "loc.friendlyName": "Ant", + "loc.helpMarkDown": "[Weitere Informationen zu dieser Aufgabe](https://go.microsoft.com/fwlink/?LinkID=613718) oder [Ant-Dokumentation anzeigen](http://ant.apache.org/)", + "loc.description": "Mit Apache Ant erstellen", + "loc.instanceNameFormat": "Ant $(options) $(antBuildFile)", + "loc.group.displayName.junitTestResults": "JUnit-Testergebnisse", + "loc.group.displayName.advanced": "Erweitert", + "loc.input.label.antBuildFile": "Ant-Builddatei", + "loc.input.help.antBuildFile": "Der relative Pfad vom Repositorystamm zur Ant-Builddatei.", + "loc.input.label.options": "Optionen", + "loc.input.help.options": "Geben Sie die Optionen an, die an die Ant-Befehlszeile übergeben werden sollen. Sie können Ihre eigenen Eigenschaften angeben (z. B. \"***-DmyProperty=meinEigenschaftenWert***\") und auch integrierte Variablen verwenden (z. B. \"***-DcollectionId=$(system.collectionId)***\"). Alternativ werden die integrierten Variablen bereits als Umgebungsvariablen während des Builds festgelegt und können direkt übergeben werden (z. B. \"***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***\").", + "loc.input.label.targets": "Ziel(e)", + "loc.input.help.targets": "Eine optionale, durch Leerzeichen getrennte Liste der zu erstellenden Ziele. Wenn keine Angabe erfolgt, wird das \"Standardziel\" verwendet. Wenn kein \"Standardziel\" definiert ist, wird Ant 1.6.0 verwendet, und alle Tasks auf oberster Ebene werden später erstellt.", + "loc.input.label.publishJUnitResults": "In Azure Pipelines veröffentlichen", + "loc.input.help.publishJUnitResults": "Wählen Sie diese Option aus, um vom Ant-Build generierte JUnit-Testergebnisse in Azure Pipelines zu veröffentlichen. Jede Testergebnisdatei, die mit \"Testergebnisdateien\" übereinstimmt, wird als Testlauf in Azure Pipelines veröffentlicht.", + "loc.input.label.testResultsFiles": "Testergebnisdateien", + "loc.input.help.testResultsFiles": "Pfad der Testergebnisdateien. Platzhalter können verwendet werden ([weitere Informationen](https://go.microsoft.com/fwlink/?linkid=856077)). Beispiel: \"**/TEST-*.xml\" für alle XML-Dateien, deren Name mit \"TEST-\" beginnt.", + "loc.input.label.testRunTitle": "Testlauftitel", + "loc.input.help.testRunTitle": "Geben Sie einen Namen für den Testlauf an.", + "loc.input.label.antHomeUserInputPath": "ANT_HOME-Pfad festlegen", + "loc.input.help.antHomeUserInputPath": "Wenn festgelegt, werden alle vorhandenen ANT_HOME-Umgebungsvariablen mit dem angegebenen Pfad überschrieben.", + "loc.input.label.javaHomeSelection": "JAVA_HOME festlegen durch", + "loc.input.help.javaHomeSelection": "Legt JAVA_HOME durch Auswählen einer JDK-Version fest, die während der Erstellung von Builds oder durch manuelles Eingeben eines JDK-Pfads ermittelt wird.", + "loc.input.label.jdkVersion": "JDK-Version", + "loc.input.help.jdkVersion": "Versucht, den Pfad zur ausgewählten JDK-Version zu ermitteln und JAVA_HOME entsprechend festzulegen.", + "loc.input.label.jdkUserInputPath": "JDK-Pfad", + "loc.input.help.jdkUserInputPath": "Legt JAVA_HOME auf den angegebenen Pfad fest.", + "loc.input.label.jdkArchitecture": "JDK-Architektur", + "loc.input.help.jdkArchitecture": "Geben Sie optional die JDK-Architektur an (x86, x64).", + "loc.messages.LocateJVMBasedOnVersionAndArch": "JAVA_HOME für Java %s %s finden", + "loc.messages.UnsupportedJdkWarning": "JDK 9 und JDK 10 werden nicht unterstützt. Wechseln Sie in Ihrem Projekt und Ihrer Pipeline zu einer neueren Version. Es wird versucht, die Erstellung mit JDK 11 durchzuführen...", + "loc.messages.FailedToLocateSpecifiedJVM": "Die angegebene JDK-Version wurde nicht gefunden. Stellen Sie sicher, dass die angegebene JDK-Version auf dem Agent installiert und die Umgebungsvariable \"%s\" vorhanden und auf den Speicherort eines entsprechenden JDK festgelegt ist. Sie können auch die Aufgabe [Installer für Java-Tools](https://go.microsoft.com/fwlink/?linkid=875287) verwenden, um das gewünschte JDK zu installieren.", + "loc.messages.NoTestResults": "Es wurden keine Testergebnisdateien gefunden, die mit %s übereinstimmen. Das Veröffentlichen von JUnit-Testergebnissen wird daher übersprungen." +} \ No newline at end of file diff --git a/Tasks/ANTV2/Strings/resources.resjson/en-US/resources.resjson b/Tasks/ANTV2/Strings/resources.resjson/en-US/resources.resjson new file mode 100644 index 000000000000..7caa66c58dcd --- /dev/null +++ b/Tasks/ANTV2/Strings/resources.resjson/en-US/resources.resjson @@ -0,0 +1,34 @@ +{ + "loc.friendlyName": "Ant", + "loc.helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613718) or [see the Ant documentation](http://ant.apache.org/)", + "loc.description": "Build with Apache Ant", + "loc.instanceNameFormat": "Ant $(options) $(antBuildFile)", + "loc.group.displayName.junitTestResults": "JUnit Test Results", + "loc.group.displayName.advanced": "Advanced", + "loc.input.label.antBuildFile": "Ant build file", + "loc.input.help.antBuildFile": "Relative path from the repository root to the Ant build file.", + "loc.input.label.options": "Options", + "loc.input.help.options": "Provide any options to pass to the Ant command line. You can provide your own properties (for example, ***-DmyProperty=myPropertyValue***) and also use built-in variables (for example, ***-DcollectionId=$(system.collectionId)***). Alternatively, the built-in variables are already set as environment variables during the build and can be passed directly (for example, ***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***).", + "loc.input.label.targets": "Target(s)", + "loc.input.help.targets": "An optional, space-separated list of targets to build. If not specified, the `default` target will be used. If no `default` target is defined, Ant 1.6.0 and later will build all top-level tasks.", + "loc.input.label.publishJUnitResults": "Publish to Azure Pipelines", + "loc.input.help.publishJUnitResults": "Select this option to publish JUnit test results produced by the Ant build to Azure Pipelines. Each test results file matching `Test Results Files` will be published as a test run in Azure Pipelines.", + "loc.input.label.testResultsFiles": "Test results files", + "loc.input.help.testResultsFiles": "Test results files path. Wildcards can be used ([more information](https://go.microsoft.com/fwlink/?linkid=856077)). For example, `**/TEST-*.xml` for all XML files whose name starts with TEST-.", + "loc.input.label.testRunTitle": "Test run title", + "loc.input.help.testRunTitle": "Provide a name for the test run.", + "loc.input.label.antHomeUserInputPath": "Set ANT_HOME path", + "loc.input.help.antHomeUserInputPath": "If set, overrides any existing ANT_HOME environment variable with the given path.", + "loc.input.label.javaHomeSelection": "Set JAVA_HOME by", + "loc.input.help.javaHomeSelection": "Sets JAVA_HOME either by selecting a JDK version that will be discovered during builds or by manually entering a JDK path.", + "loc.input.label.jdkVersion": "JDK version", + "loc.input.help.jdkVersion": "Will attempt to discover the path to the selected JDK version and set JAVA_HOME accordingly.", + "loc.input.label.jdkUserInputPath": "JDK path", + "loc.input.help.jdkUserInputPath": "Sets JAVA_HOME to the given path.", + "loc.input.label.jdkArchitecture": "JDK architecture", + "loc.input.help.jdkArchitecture": "Optionally supply the architecture (x86, x64) of the JDK.", + "loc.messages.LocateJVMBasedOnVersionAndArch": "Locate JAVA_HOME for Java %s %s", + "loc.messages.UnsupportedJdkWarning": "JDK 9 and JDK 10 are out of support. Please switch to a later version in your project and pipeline. Attempting to build with JDK 11...", + "loc.messages.FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", + "loc.messages.NoTestResults": "No test result files matching %s were found, so publishing JUnit test results is being skipped." +} \ No newline at end of file diff --git a/Tasks/ANTV2/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/ANTV2/Strings/resources.resjson/es-ES/resources.resjson new file mode 100644 index 000000000000..f0a1c045154d --- /dev/null +++ b/Tasks/ANTV2/Strings/resources.resjson/es-ES/resources.resjson @@ -0,0 +1,34 @@ +{ + "loc.friendlyName": "Ant", + "loc.helpMarkDown": "[Obtener más información acerca de esta tarea](https://go.microsoft.com/fwlink/?LinkID=613718) o [consultar la documentación de Ant](http://ant.apache.org/)", + "loc.description": "Compilar con Apache Ant", + "loc.instanceNameFormat": "Ant $(options) $(antBuildFile)", + "loc.group.displayName.junitTestResults": "Resultados de pruebas JUnit", + "loc.group.displayName.advanced": "Avanzado", + "loc.input.label.antBuildFile": "Archivo de compilación de Ant", + "loc.input.help.antBuildFile": "Ruta de acceso relativa de la raíz del repositorio al archivo de compilación de Ant.", + "loc.input.label.options": "Opciones", + "loc.input.help.options": "Proporcione las opciones que se van a pasar a la línea de comandos de Ant. Puede proporcionar sus propiedades (por ejemplo, ***-DmyProperty=myPropertyValue***) y también usar variables integradas (por ejemplo, ***-DcollectionId=$(system.collectionId)***). Puede que las variables integradas ya se hayan establecido como variables de entorno durante la compilación y se puedan pasar directamente (por ejemplo, ***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***).", + "loc.input.label.targets": "Destinos", + "loc.input.help.targets": "Una lista opcional y separada por espacios de los destinos que se van a compilar. Si no se especifica, se usará el destino \"predeterminado\". Si no se define ningún destino \"predeterminado\", Ant 1.6.0 y las versiones posteriores compilarán todas las tareas de nivel superior.", + "loc.input.label.publishJUnitResults": "Publicar en Azure Pipelines", + "loc.input.help.publishJUnitResults": "Seleccione esta opción para publicar los resultados de pruebas JUnit generados por la compilación de Ant en Azure Pipelines. Cada archivo de resultados de pruebas que coincida con \"Archivos de resultados de pruebas\" se publicará como una serie de pruebas en Azure Pipelines.", + "loc.input.label.testResultsFiles": "Archivos de resultados de pruebas", + "loc.input.help.testResultsFiles": "Ruta de acceso de los archivos de resultados de pruebas. Puede usar caracteres comodín ([más información](https://go.microsoft.com/fwlink/?linkid=856077)). Por ejemplo, \"**\\*TEST-*.xml\" para todos los archivos XML cuyos nombres empiecen por TEST-.", + "loc.input.label.testRunTitle": "Título de la serie de pruebas", + "loc.input.help.testRunTitle": "Asigne un nombre a la serie de pruebas.", + "loc.input.label.antHomeUserInputPath": "Establecer la ruta ANT_HOME", + "loc.input.help.antHomeUserInputPath": "Si se establece, reemplaza cualquier variable de entorno ANT_HOME existente por la ruta de acceso dada.", + "loc.input.label.javaHomeSelection": "Establecer JAVA_HOME por", + "loc.input.help.javaHomeSelection": "Establece JAVA_HOME seleccionando una versión de JDK que se detectará durante las compilaciones o especificando manualmente una ruta de acceso del JDK.", + "loc.input.label.jdkVersion": "Versión de JDK", + "loc.input.help.jdkVersion": "Se tratará de hallar la ruta de acceso a la versión de JDK seleccionada y establecer JAVA_HOME según sea el caso.", + "loc.input.label.jdkUserInputPath": "Ruta de acceso de JDK", + "loc.input.help.jdkUserInputPath": "Establece JAVA_HOME en la ruta de acceso especificada.", + "loc.input.label.jdkArchitecture": "Arquitectura JDK", + "loc.input.help.jdkArchitecture": "Indique opcionalmente la arquitectura (x86, x64) del JDK.", + "loc.messages.LocateJVMBasedOnVersionAndArch": "Buscar JAVA_HOME para Java %s %s", + "loc.messages.UnsupportedJdkWarning": "JDK 9 y JDK 10 no tienen soporte técnico. Cambie a una versión posterior del proyecto y la canalización. Intentando compilar con JDK 11...", + "loc.messages.FailedToLocateSpecifiedJVM": "No se encontró la versión de JDK especificada. Asegúrese de que dicha versión está instalada en el agente y de que la variable de entorno \"%s\" existe y está establecida en la ubicación de un JDK correspondiente. En caso contrario, use la tarea de [Instalador de herramientas de Java](https://go.microsoft.com/fwlink/?linkid=875287) para instalar el JDK deseado.", + "loc.messages.NoTestResults": "No se encontraron archivos de resultados de pruebas que coincidan con %s, por lo que se omite la publicación de los resultados de las pruebas JUnit." +} \ No newline at end of file diff --git a/Tasks/ANTV2/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/ANTV2/Strings/resources.resjson/fr-FR/resources.resjson new file mode 100644 index 000000000000..bfb2573b6acf --- /dev/null +++ b/Tasks/ANTV2/Strings/resources.resjson/fr-FR/resources.resjson @@ -0,0 +1,34 @@ +{ + "loc.friendlyName": "Ant", + "loc.helpMarkDown": "[En savoir plus sur cette tâche](https://go.microsoft.com/fwlink/?LinkID=613718) ou [consulter la documentation d'Ant](http://ant.apache.org/)", + "loc.description": "Générer avec Apache Ant", + "loc.instanceNameFormat": "Ant $(options) $(antBuildFile)", + "loc.group.displayName.junitTestResults": "Résultats du test JUnit", + "loc.group.displayName.advanced": "Avancé", + "loc.input.label.antBuildFile": "Fichier de build Ant", + "loc.input.help.antBuildFile": "Chemin relatif de la racine de dépôt au fichier de build Ant.", + "loc.input.label.options": "Options", + "loc.input.help.options": "Indiquez les options à passer à la ligne de commande Ant. Vous pouvez fournir vos propres propriétés (par exemple ***-DmyProperty=myPropertyValue***), et utiliser les variables intégrées (par exemple ***-DcollectionId=$(system.collectionId)***). Sinon, les variables intégrées sont déjà définies comme variables d'environnement durant la génération et peuvent être passées directement (par exemple ***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***).", + "loc.input.label.targets": "Cible(s)", + "loc.input.help.targets": "Liste facultative de cibles à générer, séparées par des espaces. Si rien n'est spécifié, la cible 'default' est utilisée. Si aucune cible 'default' n'est définie, Ant 1.6.0 ou ultérieur génère des tâches qui sont toutes de niveau supérieur.", + "loc.input.label.publishJUnitResults": "Publier sur Azure Pipelines", + "loc.input.help.publishJUnitResults": "Sélectionnez cette option pour publier les résultats des tests JUnit produits par la build Ant sur Azure Pipelines. Chaque fichier de résultats des tests correspondant à 'Fichiers de résultats des tests' est publié en tant que série de tests dans Azure Pipelines.", + "loc.input.label.testResultsFiles": "Fichiers de résultats des tests", + "loc.input.help.testResultsFiles": "Chemin des fichiers de résultats des tests. Les caractères génériques sont autorisés. ([Plus d'informations](https://go.microsoft.com/fwlink/?linkid=856077)). Par exemple, '**/TEST-*.xml' pour tous les fichiers XML dont le nom commence par TEST-.", + "loc.input.label.testRunTitle": "Titre de la série de tests", + "loc.input.help.testRunTitle": "Indiquez le nom de la série de tests.", + "loc.input.label.antHomeUserInputPath": "Définir le chemin de ANT_HOME", + "loc.input.help.antHomeUserInputPath": "Si elle est définie, cette valeur remplace les variables d'environnement ANT_HOME existantes par le chemin spécifié.", + "loc.input.label.javaHomeSelection": "Définir JAVA_HOME par", + "loc.input.help.javaHomeSelection": "Définit JAVA_HOME en sélectionnant une version de JDK qui sera découverte au moment des builds ou en tapant le chemin de JDK.", + "loc.input.label.jdkVersion": "Version du kit JDK", + "loc.input.help.jdkVersion": "Essaiera de découvrir le chemin d'accès à la version du JDK sélectionné et définira JAVA_HOME en conséquence.", + "loc.input.label.jdkUserInputPath": "Chemin du kit JDK", + "loc.input.help.jdkUserInputPath": "Définissez JAVA_HOME sur le chemin d'accès indiqué.", + "loc.input.label.jdkArchitecture": "Architecture du kit JDK", + "loc.input.help.jdkArchitecture": "Indiquez éventuellement l'architecture (x86, x64) du JDK.", + "loc.messages.LocateJVMBasedOnVersionAndArch": "Localiser JAVA_HOME pour Java %s %s", + "loc.messages.UnsupportedJdkWarning": "JDK 9 et JDK 10 ne sont plus pris en charge. Passez à une version plus récente de votre projet et de votre pipeline. Tentative de génération avec JDK 11...", + "loc.messages.FailedToLocateSpecifiedJVM": "Échec de la localisation de la version spécifiée du kit JDK. Vérifiez que la version spécifiée du kit JDK est installée sur l'agent, que la variable d'environnement '%s' existe et que sa valeur correspond à l'emplacement d'un kit JDK correspondant. Sinon, utilisez la tâche [Programme d'installation de l'outil Java] (https://go.microsoft.com/fwlink/?linkid=875287) pour installer le kit JDK souhaité.", + "loc.messages.NoTestResults": "Les fichiers de résultats des tests correspondant à %s sont introuvables. La publication des résultats des tests JUnit est ignorée." +} \ No newline at end of file diff --git a/Tasks/ANTV2/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/ANTV2/Strings/resources.resjson/it-IT/resources.resjson new file mode 100644 index 000000000000..10eadb608127 --- /dev/null +++ b/Tasks/ANTV2/Strings/resources.resjson/it-IT/resources.resjson @@ -0,0 +1,34 @@ +{ + "loc.friendlyName": "Ant", + "loc.helpMarkDown": "[Altre informazioni su questa attività](https://go.microsoft.com/fwlink/?LinkID=613718). In alternativa [vedere la documentazione di Ant](http://ant.apache.org/)", + "loc.description": "Consente di compilare con Apache Ant", + "loc.instanceNameFormat": "Ant $(options) $(antBuildFile)", + "loc.group.displayName.junitTestResults": "Risultati del test JUnit", + "loc.group.displayName.advanced": "Avanzate", + "loc.input.label.antBuildFile": "File di compilazione Ant", + "loc.input.help.antBuildFile": "Percorso relativo dalla radice del repository al file di compilazione Ant.", + "loc.input.label.options": "Opzioni", + "loc.input.help.options": "Consente di specificare tutte le opzioni da passare alla riga di comando di Ant. È possibile specificare proprietà personalizzate (ad esempio ***-DmyProperty=myPropertyValue***) e usare variabili predefinite (ad esempio ***-DcollectionId=$(system.collectionId)***). In alternativa, le variabili predefinite vengono già impostate come variabili di ambiente durante la compilazione e possono essere passate direttamente (ad esempio ***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***).", + "loc.input.label.targets": "Destinazione/i", + "loc.input.help.targets": "Elenco facoltativo di destinazioni per la compilazione separate da virgole. Se non viene specificato, verrà usata la destinazione `default`. Se non è definita alcuna destinazione `default`, Ant 1.6.0 o versioni successiva compilerà tutte le attività di primo livello.", + "loc.input.label.publishJUnitResults": "Pubblica in Azure Pipelines", + "loc.input.help.publishJUnitResults": "Selezionare questa opzione per pubblicare i risultati del test JUnit prodotti dalla compilazione Ant in Azure Pipelines. Ogni file dei risultati del test corrispondente al valore di `File dei risultati del test` verrà pubblicato come esecuzione dei test in Azure Pipelines.", + "loc.input.label.testResultsFiles": "File dei risultati del test", + "loc.input.help.testResultsFiles": "Percorso dei file dei risultati del test. È possibile usare i caratteri jolly, ad esempio `**/TEST-*.xml` per individuare tutti i file XML il cui nome inizia con TEST-. [Altre informazioni](https://go.microsoft.com/fwlink/?linkid=856077)", + "loc.input.label.testRunTitle": "Titolo dell'esecuzione dei test", + "loc.input.help.testRunTitle": "Consente di specificare un nome per l'esecuzione dei test.", + "loc.input.label.antHomeUserInputPath": "Imposta percorso di ANT_HOME", + "loc.input.help.antHomeUserInputPath": "Se è impostato, esegue l'override di eventuali variabili di ambiente ANT_HOME esistenti con il percorso specificato.", + "loc.input.label.javaHomeSelection": "Imposta JAVA_HOME per", + "loc.input.help.javaHomeSelection": "Consente di impostare JAVA_HOME selezionando una versione di JDK che verrà individuata durante le compilazioni oppure immettendo manualmente un percorso JDK.", + "loc.input.label.jdkVersion": "Versione del JDK", + "loc.input.help.jdkVersion": "Prova a individuare il percorso della versione selezionata di JDK e imposta JAVA_HOME di conseguenza.", + "loc.input.label.jdkUserInputPath": "Percorso del JDK", + "loc.input.help.jdkUserInputPath": "Consente di impostare JAVA_HOME sul percorso specificato.", + "loc.input.label.jdkArchitecture": "Architettura del JDK", + "loc.input.help.jdkArchitecture": "Consente facoltativamente di specificare l'architettura (x86, x64) di JDK.", + "loc.messages.LocateJVMBasedOnVersionAndArch": "Individuare JAVA_HOME per Java %s %s", + "loc.messages.UnsupportedJdkWarning": "JDK 9 e JDK 10 non sono supportati. Passare a una versione più recente nel progetto e nella pipeline. Verrà effettuato un tentativo di compilazione con JDK 11...", + "loc.messages.FailedToLocateSpecifiedJVM": "La versione del JDK specificata non è stata trovata. Assicurarsi che sia installata nell'agente e che la variabile di ambiente '%s' sia presente e impostata sul percorso di un JDK corrispondente oppure usare l'attività [Programma di installazione strumenti Java](https://go.microsoft.com/fwlink/?linkid=875287) per installare il JDK desiderato.", + "loc.messages.NoTestResults": "Non sono stati trovati file dei risultati del test corrispondenti a %s, di conseguenza la pubblicazione dei risultati del test JUnit verrà ignorata." +} \ No newline at end of file diff --git a/Tasks/ANTV2/Strings/resources.resjson/ja-JP/resources.resjson b/Tasks/ANTV2/Strings/resources.resjson/ja-JP/resources.resjson new file mode 100644 index 000000000000..7a08aec9a63d --- /dev/null +++ b/Tasks/ANTV2/Strings/resources.resjson/ja-JP/resources.resjson @@ -0,0 +1,34 @@ +{ + "loc.friendlyName": "Ant", + "loc.helpMarkDown": "[このタスクの詳細を表示](https://go.microsoft.com/fwlink/?LinkID=613718)、または [Ant のドキュメントを参照](http://ant.apache.org/)", + "loc.description": "Apache Ant を使用してビルドします", + "loc.instanceNameFormat": "Ant $(options) $(antBuildFile)", + "loc.group.displayName.junitTestResults": "JUnit のテスト結果", + "loc.group.displayName.advanced": "詳細設定", + "loc.input.label.antBuildFile": "Ant ビルド ファイル", + "loc.input.help.antBuildFile": "リポジトリのルートから Ant のビルド ファイルへの相対パス。", + "loc.input.label.options": "オプション", + "loc.input.help.options": "Ant コマンド ラインに渡すオプションを指定します。独自のプロパティ (たとえば、***-DmyProperty=myPropertyValue***) を指定することも、ビルトイン変数 (たとえば、***-DcollectionId=$(system.collectionId)***) を使用することもできます。あるいは、ビルトイン変数はビルド中は既に環境変数として設定されているため、直接渡すことができます (たとえば、***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***)。", + "loc.input.label.targets": "ターゲット", + "loc.input.help.targets": "作成するターゲットのオプションのスペース区切り一覧。指定しない場合、`既定` のターゲットが使用されます。`既定` のターゲットが定義されていない場合は、Ant 1.6.0 以降で最上位レベルのすべてのタスクが作成されます。", + "loc.input.label.publishJUnitResults": "Azure Pipelines に公開する", + "loc.input.help.publishJUnitResults": "Ant のビルドによって生成された JUnit のテスト結果を Azure Pipelines に公開するには、このオプションを選びます。'テスト結果ファイル' と一致する各テスト結果ファイルが、Azure Pipelines でテストの実行として公開されます。", + "loc.input.label.testResultsFiles": "テスト結果ファイル", + "loc.input.help.testResultsFiles": "テスト結果ファイルのパス。ワイルドカードを使用できます ([詳細情報](https://go.microsoft.com/fwlink/?linkid=856077))。たとえば、名前が TEST- で始まるすべての XML ファイルの場合は '**/TEST-*.xml' です。", + "loc.input.label.testRunTitle": "テストの実行のタイトル", + "loc.input.help.testRunTitle": "テストの実行の名前を指定します。", + "loc.input.label.antHomeUserInputPath": "ANT_HOME パスの設定", + "loc.input.help.antHomeUserInputPath": "設定されると、指定したパスの既存のあらゆる ANT_HOME 環境変数をオーバーライドします。", + "loc.input.label.javaHomeSelection": "次の条件で JAVA_HOME を設定します", + "loc.input.help.javaHomeSelection": "ビルド中に検出される JDK バージョンを選択するか、JDK パスを手動で入力して JAVA_HOME を設定します。", + "loc.input.label.jdkVersion": "JDK バージョン", + "loc.input.help.jdkVersion": "選択した JDK のバージョンへのパスの検出を試みて、それに従って JAVA_HOME を設定します。", + "loc.input.label.jdkUserInputPath": "JDK パス", + "loc.input.help.jdkUserInputPath": "指定したパスに JAVA_HOME を設定します。", + "loc.input.label.jdkArchitecture": "JDK アーキテクチャ", + "loc.input.help.jdkArchitecture": "(省略可能) JDK のアーキテクチャ (x86、x64) を指定します。", + "loc.messages.LocateJVMBasedOnVersionAndArch": "Java %s %s の JAVA_HOME を検索する", + "loc.messages.UnsupportedJdkWarning": "JDK 9 および JDK 10 はサポートされていません。プロジェクトとパイプラインで新しいバージョンに切り替えてください。JDK 11 でのビルドを試行しています...", + "loc.messages.FailedToLocateSpecifiedJVM": "指定された JDK バージョンが見つかりませんでした。指定された JDK バージョンがエージェントにインストールされており、環境変数 '%s' が存在し、対応する JDK の場所に設定されていることを確認するか、[Java ツール インストーラー](https://go.microsoft.com/fwlink/?linkid=875287) タスクを使用して目的の JDK をインストールしてください。", + "loc.messages.NoTestResults": "%s と一致するテスト結果ファイルが見つからないため、JUnit テスト結果の発行をスキップします。" +} \ No newline at end of file diff --git a/Tasks/ANTV2/Strings/resources.resjson/ko-KR/resources.resjson b/Tasks/ANTV2/Strings/resources.resjson/ko-KR/resources.resjson new file mode 100644 index 000000000000..33dfbe7d398c --- /dev/null +++ b/Tasks/ANTV2/Strings/resources.resjson/ko-KR/resources.resjson @@ -0,0 +1,34 @@ +{ + "loc.friendlyName": "Ant", + "loc.helpMarkDown": "[이 작업에 대한 자세한 정보](https://go.microsoft.com/fwlink/?LinkID=613718) 또는 [Ant 설명서 참조](http://ant.apache.org/)", + "loc.description": "Apache Ant로 빌드", + "loc.instanceNameFormat": "Ant $(options) $(antBuildFile)", + "loc.group.displayName.junitTestResults": "JUnit 테스트 결과", + "loc.group.displayName.advanced": "고급", + "loc.input.label.antBuildFile": "Ant 빌드 파일", + "loc.input.help.antBuildFile": "Ant 빌드 파일의 리포지토리 루트로부터의 상대 경로입니다.", + "loc.input.label.options": "옵션", + "loc.input.help.options": "Ant 명령줄에 전달할 옵션을 지정하세요. 고유한 속성을 지정할 수도 있고(예: ***-DmyProperty=myPropertyValue***) 기본 제공 변수를 사용할 수도 있습니다(예: ***-DcollectionId=$(system.collectionId)***). 또는 기본 제공 변수가 빌드 중 이미 환경 변수로 설정되어 직접 전달될 수도 있습니다(예: ***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***).", + "loc.input.label.targets": "대상", + "loc.input.help.targets": "빌드할 대상의 공백으로 구분된 목록입니다(선택 사항). 지정되지 않은 경우 `기본` 대상이 사용됩니다. `기본` 대상이 정의되지 않은 경우 Ant 1.6.0 이상에서 모든 최상위 작업을 빌드합니다.", + "loc.input.label.publishJUnitResults": "Azure Pipelines/에 게시", + "loc.input.help.publishJUnitResults": "Ant 빌드에서 생성된 JUnit 테스트 결과를 Azure Pipelines에 게시하려면 이 옵션을 선택합니다. '테스트 결과 파일'과 일치하는 각 테스트 결과 파일이 Azure Pipelines에 테스트 실행으로 게시됩니다.", + "loc.input.label.testResultsFiles": "테스트 결과 파일", + "loc.input.help.testResultsFiles": "테스트 결과 파일 경로입니다. 와일드카드를 사용할 수 있습니다([자세한 정보](https://go.microsoft.com/fwlink/?linkid=856077)). 예를 들어 이름이 TEST-로 시작하는 모든 XML 파일을 표시하려면 '**/TEST-*.xml'을 지정합니다.", + "loc.input.label.testRunTitle": "테스트 실행 제목", + "loc.input.help.testRunTitle": "테스트 실행의 이름을 지정하세요.", + "loc.input.label.antHomeUserInputPath": "ANT_HOME 경로 설정", + "loc.input.help.antHomeUserInputPath": "설정하는 경우 기존 ANT_HOME 환경 변수를 지정된 경로로 재정의합니다.", + "loc.input.label.javaHomeSelection": "JAVA_HOME 설정 방법", + "loc.input.help.javaHomeSelection": "빌드 중에 검색될 JDK 버전을 선택하거나 수동으로 JDK 경로를 입력하여 JAVA_HOME을 설정합니다.", + "loc.input.label.jdkVersion": "JDK 버전", + "loc.input.help.jdkVersion": "선택한 JDK 버전의 경로에 대한 검색을 시도하고 그에 따라 JAVA_HOME을 설정하게 됩니다.", + "loc.input.label.jdkUserInputPath": "JDK 경로", + "loc.input.help.jdkUserInputPath": "JAVA_HOME을 지정된 경로로 설정합니다.", + "loc.input.label.jdkArchitecture": "JDK 아키텍처", + "loc.input.help.jdkArchitecture": "선택적으로 JDK의 아키텍처(x86, x64)를 제공하세요.", + "loc.messages.LocateJVMBasedOnVersionAndArch": "Java %s %s에 대해 JAVA_HOME 찾기", + "loc.messages.UnsupportedJdkWarning": "JDK 9 및 JDK 10은 지원되지 않습니다. 프로젝트 및 파이프라인에서 최신 버전으로 전환하세요. JDK 11을 사용하여 빌드를 시도하는 중...", + "loc.messages.FailedToLocateSpecifiedJVM": "지정한 JDK 버전을 찾지 못했습니다. 지정한 JDK 버전이 에이전트에 설치되어 있으며 환경 변수 '%s'이(가) 있고 해당 JDK의 위치로 설정되었는지 확인하거나, [Java 도구 설치 관리자](https://go.microsoft.com/fwlink/?linkid=875287) 작업을 사용하여 원하는 JDK를 설치하세요.", + "loc.messages.NoTestResults": "%s과(와) 일치하는 테스트 결과 파일을 찾을 수 없으므로 JUnit 테스트 결과 게시를 건너뜁니다." +} \ No newline at end of file diff --git a/Tasks/ANTV2/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/ANTV2/Strings/resources.resjson/ru-RU/resources.resjson new file mode 100644 index 000000000000..913c95895aac --- /dev/null +++ b/Tasks/ANTV2/Strings/resources.resjson/ru-RU/resources.resjson @@ -0,0 +1,34 @@ +{ + "loc.friendlyName": "Ant", + "loc.helpMarkDown": "[См. дополнительные сведения об этой задаче](https://go.microsoft.com/fwlink/?LinkID=613718) или [документацию по Ant](http://ant.apache.org/)", + "loc.description": "Сборка с помощью Apache Ant", + "loc.instanceNameFormat": "Ant $(options) $(antBuildFile)", + "loc.group.displayName.junitTestResults": "Результаты теста JUnit", + "loc.group.displayName.advanced": "Дополнительно", + "loc.input.label.antBuildFile": "Файл сборки Ant", + "loc.input.help.antBuildFile": "Относительный путь от корня репозитория к файлу сборки Ant.", + "loc.input.label.options": "Параметры", + "loc.input.help.options": "Укажите параметры для передачи в командную строку Ant. Вы можете указать собственные свойства (например, ***-DmyProperty=myPropertyValue***), а также использовать встроенные переменные (например, ***-DcollectionId=$(system.collectionId)***). Кроме того, встроенные переменные уже заданы в качестве переменных среды во время сборки и могут быть переданы напрямую (например, ***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***).", + "loc.input.label.targets": "Платформы", + "loc.input.help.targets": "Необязательный список целевых объектов сборки с разделителями-пробелами. Если он не задан, будет использоваться целевой объект по умолчанию. Если целевой объект по умолчанию не определен, в Ant 1.6.0 и более поздних версиях будет выполнена сборка всех задач верхнего уровня.", + "loc.input.label.publishJUnitResults": "Опубликовать в Azure Pipelines", + "loc.input.help.publishJUnitResults": "Выберите этот параметр, чтобы опубликовать результаты теста JUnit, созданные сборкой Ant, в Azure Pipelines. Каждый файл результатов теста, соответствующий запросу \"Файлы результатов тестов\", будет опубликован как тестовый запуск в Azure Pipelines.", + "loc.input.label.testResultsFiles": "Файлы результатов теста", + "loc.input.help.testResultsFiles": "Путь к файлам результатов тестов. Можно использовать подстановочные знаки ([дополнительные сведения](https://go.microsoft.com/fwlink/?linkid=856077)). Пример: \"**/TEST-*.xml\" для всех XML-файлов, имена которых начинаются с \"TEST-\".", + "loc.input.label.testRunTitle": "Название тестового запуска", + "loc.input.help.testRunTitle": "Укажите имя для тестового запуска.", + "loc.input.label.antHomeUserInputPath": "Задать путь ANT_HOME", + "loc.input.help.antHomeUserInputPath": "Если этот параметр задан, переопределяет любую существующую переменную среды ANT_HOME заданным путем.", + "loc.input.label.javaHomeSelection": "Установка JAVA_HOME с помощью", + "loc.input.help.javaHomeSelection": "Задается JAVA_HOME указанием версии JDK, которая будет обнаруживаться во время сборок, или указанием пути к JDK вручную.", + "loc.input.label.jdkVersion": "Версия JDK", + "loc.input.help.jdkVersion": "Пытается определить путь к выбранной версии JDK и установить переменную JAVA_HOME соответствующим образом.", + "loc.input.label.jdkUserInputPath": "Путь к JDK", + "loc.input.help.jdkUserInputPath": "Установка для JAVA_HOME определенного пути.", + "loc.input.label.jdkArchitecture": "Архитектура JDK", + "loc.input.help.jdkArchitecture": "Дополнительно укажите архитектуру JDK (x86, x64).", + "loc.messages.LocateJVMBasedOnVersionAndArch": "Найдите JAVA_HOME для Java %s %s", + "loc.messages.UnsupportedJdkWarning": "Поддержка JDK 9 и JDK 10 прекращена. Переключитесь на более позднюю версию в проекте и конвейере. Выполняется попытка сборки с помощью JDK 11...", + "loc.messages.FailedToLocateSpecifiedJVM": "Не удалось найти указанную версию JDK. Убедитесь в том, что указанная версия JDK установлена в агенте и что переменная среды \"%s\" существует и ее значением является расположение соответствующего пакета JDK, или используйте [установщик средств Java] (https://go.microsoft.com/fwlink/?linkid=875287), чтобы установить требуемую версию JDK.", + "loc.messages.NoTestResults": "Не найдены файлы результатов теста, соответствующие \"%s\". Публикация результатов теста JUnit пропускается." +} \ No newline at end of file diff --git a/Tasks/ANTV2/Strings/resources.resjson/zh-CN/resources.resjson b/Tasks/ANTV2/Strings/resources.resjson/zh-CN/resources.resjson new file mode 100644 index 000000000000..76c06ee08442 --- /dev/null +++ b/Tasks/ANTV2/Strings/resources.resjson/zh-CN/resources.resjson @@ -0,0 +1,34 @@ +{ + "loc.friendlyName": "Ant", + "loc.helpMarkDown": "[详细了解此任务](https://go.microsoft.com/fwlink/?LinkID=613718)或[参阅 Ant 文档](http://ant.apache.org/)", + "loc.description": "使用 Apache Ant 生成", + "loc.instanceNameFormat": "Ant $(options) $(antBuildFile)", + "loc.group.displayName.junitTestResults": "JUnit 测试结果", + "loc.group.displayName.advanced": "高级", + "loc.input.label.antBuildFile": "Ant 生成文件", + "loc.input.help.antBuildFile": "从存储库根路径到“Ant 生成文件”的相对路径。", + "loc.input.label.options": "选项", + "loc.input.help.options": "提供要传递到 Ant 命令行的任意选项。可以提供自己的属性(例如,***-DmyProperty=myPropertyValue***),也可使用内置变量(例如,**-DcollectionId=$(system.collectionId)***)。或者,已在生成过程中将内置变量设置为环境变量,且可直接传递(例如,***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***)。", + "loc.input.label.targets": "对象", + "loc.input.help.targets": "要生成的可选目标列表,以空格分隔。如果未指定,将使用“默认”目标。如果未定义“默认”目标,则 Ant 1.6.0 和更高版本将生成所有顶级任务。", + "loc.input.label.publishJUnitResults": "发布到 Azure Pipelines", + "loc.input.help.publishJUnitResults": "选择此选项可将 Ant 生成产生的 JUnit 测试结果发布到 Azure Pipelines。每个与 `Test Results Files` 匹配的测试结果文件都会在 Azure Pipelines 中发布为测试运行。", + "loc.input.label.testResultsFiles": "测试结果文件", + "loc.input.help.testResultsFiles": "测试结果文件路径。可以使用通配符([详细信息](https://go.microsoft.com/fwlink/?linkid=856077))。例如,\"**/TEST-*.xml\" 表示名称以 TEST- 开头的所有 xml 文件。", + "loc.input.label.testRunTitle": "测试运行标题", + "loc.input.help.testRunTitle": "为测试运行提供一个名称。", + "loc.input.label.antHomeUserInputPath": "设置 ANT_HOME 路径", + "loc.input.help.antHomeUserInputPath": "如已设置,将用给定路径覆盖任何现有 ANT_HOME 环境变量。", + "loc.input.label.javaHomeSelection": "JAVA_HOME 设置方法", + "loc.input.help.javaHomeSelection": "可通过选择将在生成期间发现的 JDK 版本或手动输入 JDK 路径来设置 JAVA_HOME。", + "loc.input.label.jdkVersion": "JDK 版本", + "loc.input.help.jdkVersion": "将尝试发现所选 JDK 版本的路径并相应地设置 JAVA_HOME。", + "loc.input.label.jdkUserInputPath": "JDK 路径", + "loc.input.help.jdkUserInputPath": "将 JAVA_HOME 设置到给定路径。", + "loc.input.label.jdkArchitecture": "JDK 体系结构", + "loc.input.help.jdkArchitecture": "可以选择提供 JDK 的体系结构(x86、x64)。", + "loc.messages.LocateJVMBasedOnVersionAndArch": "为 Java %s %s 查找 JAVA_HOME", + "loc.messages.UnsupportedJdkWarning": "JDK 9 和 JDK 10 不受支持。请切换到项目和管道中的更高版本。正在尝试使用 JDK 11 进行生成...", + "loc.messages.FailedToLocateSpecifiedJVM": "未能找到指定的 JDK 版本。请确保代理上安装了指定的 JDK 版本,环境变量“%s”存在并设置为对应 JDK 的位置或使用[Java 工具安装程序](https://go.microsoft.com/fwlink/?linkid=875287)任务安装所需 JDK。", + "loc.messages.NoTestResults": "未找到匹配 %s 的测试结果文件,因此将跳过发布 JUnit 测试结果。" +} \ No newline at end of file diff --git a/Tasks/ANTV2/Strings/resources.resjson/zh-TW/resources.resjson b/Tasks/ANTV2/Strings/resources.resjson/zh-TW/resources.resjson new file mode 100644 index 000000000000..fdf700887b06 --- /dev/null +++ b/Tasks/ANTV2/Strings/resources.resjson/zh-TW/resources.resjson @@ -0,0 +1,34 @@ +{ + "loc.friendlyName": "Ant", + "loc.helpMarkDown": "[深入了解此工作](https://go.microsoft.com/fwlink/?LinkID=613718)或[參閱 Ant 文件](http://ant.apache.org/)", + "loc.description": "使用 Apache Ant 建置", + "loc.instanceNameFormat": "Ant $(options) $(antBuildFile)", + "loc.group.displayName.junitTestResults": "JUnit 測試結果", + "loc.group.displayName.advanced": "進階", + "loc.input.label.antBuildFile": "Ant 組建檔案", + "loc.input.help.antBuildFile": "從存放庫根路徑到 Ant 組建檔案的相對路徑。", + "loc.input.label.options": "選項", + "loc.input.help.options": "提供傳遞給 Ant 命令列的任何選項。您可以提供您自己的屬性 (例如 ***-DmyProperty=myPropertyValue***),並同時使用內建變數 (例如 ***-DmyProperty=myPropertyValue***)。或者,如果內建變數已在建置期間設為環境變數,則也可以直接傳遞 (例如 ***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***)。", + "loc.input.label.targets": "目標", + "loc.input.help.targets": "以空格分隔的選用清單,內含要建置的目標。若未指定,將使用 `default` 目標。如果未定義 `default` 目標,則 Ant 1.6.0 和更新版本將建置所有最上層工作。", + "loc.input.label.publishJUnitResults": "發佈至 Azure Pipelines", + "loc.input.help.publishJUnitResults": "選取此選項會將 Ant 組建所產生的 JUnit 測試結果發佈至 Azure Pipelines。每個與 `Test Results Files` 相符的測試結果檔案都將作為測試回合於 Azure Pipelines 中發佈。", + "loc.input.label.testResultsFiles": "測試結果檔案", + "loc.input.help.testResultsFiles": "測試結果檔案路徑。可使用萬用字元 ([詳細資訊](https://go.microsoft.com/fwlink/?linkid=856077))。例如 `**/TEST-*.xml` 表示名稱開頭為 TEST- 的所有 XML 檔案。", + "loc.input.label.testRunTitle": "測試回合標題", + "loc.input.help.testRunTitle": "提供測試回合的名稱。", + "loc.input.label.antHomeUserInputPath": "設定 ANT_HOME 路徑", + "loc.input.help.antHomeUserInputPath": "如有設定,將會以指定的路徑覆寫任何現有的 ANT_HOME 環境變數。", + "loc.input.label.javaHomeSelection": "設定 JAVA_HOME 由", + "loc.input.help.javaHomeSelection": "選取一個能在組建期間探索到的 JDK 版本,或者手動輸入 JDK 路徑,均能為 JAVA_HOME 進行設定。", + "loc.input.label.jdkVersion": "JDK 版本", + "loc.input.help.jdkVersion": "將嘗試探索所選取 JDK 版本的路徑並據此設定 JAVA_HOME。", + "loc.input.label.jdkUserInputPath": "JDK 路徑", + "loc.input.help.jdkUserInputPath": "將 JAVA_HOME 設定為指定路徑。", + "loc.input.label.jdkArchitecture": "JDK 架構", + "loc.input.help.jdkArchitecture": "選擇性地提供 JDK 的架構 (x86、x64)。", + "loc.messages.LocateJVMBasedOnVersionAndArch": "為 Java %s %s 找出 JAVA_HOME 的位置", + "loc.messages.UnsupportedJdkWarning": "JDK 9 與 JDK 10 已失去支援。請在您的專案和管線中切換至較新版本。正在嘗試以 JDK 11 進行建置...", + "loc.messages.FailedToLocateSpecifiedJVM": "找不到指定的 JDK 版本。請確認指定的 JDK 版本已安裝在代理程式上,且環境變數 '%s' 存在並已設定為對應 JDK 的位置,或者使用 [Java 工具安裝程式](https://go.microsoft.com/fwlink/?linkid=875287) 工作安裝所需的 JDK。", + "loc.messages.NoTestResults": "找不到任何符合 %s 的測試結果,因此跳過發行 JUnit 測試結果。" +} \ No newline at end of file diff --git a/Tasks/ANTV2/Tests/.npmrc b/Tasks/ANTV2/Tests/.npmrc new file mode 100644 index 000000000000..969ccea07661 --- /dev/null +++ b/Tasks/ANTV2/Tests/.npmrc @@ -0,0 +1,3 @@ +registry=https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ + +always-auth=true \ No newline at end of file diff --git a/Tasks/ANTV2/Tests/L0.ts b/Tasks/ANTV2/Tests/L0.ts new file mode 100644 index 000000000000..12bd4e0bc63b --- /dev/null +++ b/Tasks/ANTV2/Tests/L0.ts @@ -0,0 +1,154 @@ +import assert = require('assert'); +import { MockTestRunner } from 'azure-pipelines-task-lib/mock-test'; +import path = require('path'); +import os = require('os'); + +var isWindows = os.type().match(/^Win/); + +describe('ANT Suite', function () { + this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 20000); + + it('run ANT with all inputs', async () => { + const testPath = path.join(__dirname, 'L0AllInputs.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + assert(runner.ran('/usr/local/bin/ANT -version'), 'it should have run ANT -version'); + assert(runner.ran('/usr/local/bin/ANT -buildfile /build/build.xml'), 'it should have run ANT -buildfile ...'); + assert(runner.invokedToolCount == 2, 'should have only run ANT 2 times'); + assert(runner.stderr.length == 0, 'should not have written to stderr'); + assert(runner.succeeded, 'task should have succeeded'); + }) + + it('fails if missing antBuildFile input', async () => { + const testPath = path.join(__dirname, 'L0MissingAntBuildFile.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + assert(runner.invokedToolCount == 0, 'should not have run ANT'); + assert(runner.failed, 'task should have failed'); + assert(runner.stdOutContained('Input required: antBuildFile'), 'wrong error message'); + }) + + it('fails if missing javaHomeSelection input', async () => { + const testPath = path.join(__dirname, 'L0MissingJavaHomeSelection.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + assert(runner.invokedToolCount == 0, 'should not have run ANT'); + assert(runner.failed, 'task should have failed'); + assert(runner.stdOutContained('Input required: javaHomeSelection'), 'wrong error message"'); + }) + + it('fails if missing testResultsFiles input', async () => { + const testPath = path.join(__dirname, 'L0MissingTestResultsFiles.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + assert(runner.invokedToolCount == 0, 'should not have run ANT'); + assert(runner.failed, 'task should have failed'); + assert(runner.stdOutContained('Input required: testResultsFiles'), 'wrong error message:"'); + }) + + it('run ANT with antHomeUserInputPath', async () => { + const testPath = path.join(__dirname, 'L0RunWithAntHomeUserInputPath.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + assert(runner.ran('/usr/local/bin/ANT -version'), 'it should have run ANT -version'); + assert(runner.ran('/usr/local/bin/ANT -buildfile /build/build.xml'), 'it should have run ANT -buildfile ...'); + assert(runner.invokedToolCount == 2, 'should have only run ANT 2 times'); + assert(runner.stderr.length == 0, 'should not have written to stderr'); + assert(runner.succeeded, 'task should have succeeded'); + assert(runner.stdOutContained('Set ANT_HOME to /usr/local/bin/ANT2'), 'ANT_HOME not set correctly'); + }) + + it('run ANT with antHomeUserInputPath set to invalid path', async () => { + const testPath = path.join(__dirname, 'L0InvalidUserHomePath.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + assert(runner.invokedToolCount == 0, 'should not have run ANT'); + assert(runner.failed, 'task should have failed'); + assert(runner.stdOutContained('Not found /usr/local/bin/ANT_invalid'), 'Invalid path not detected'); + }) + + it('run ANT with ANT_HOME not set', async () => { + const testPath = path.join(__dirname, 'L0AntHomeNotSet.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + // The response file will cause ANT to fail, but we are looking for the warning about ANT_HOME + assert(runner.ran('/usr/local/bin/ANT -version'), 'it should have run ANT -version'); + assert(runner.invokedToolCount == 1, 'should have only run ANT once'); + assert(runner.failed, 'task should have failed'); + assert(runner.stdOutContained('The ANT_HOME environment variable is not set'), 'Missing JAVA_HOME not detected'); + }) + + it('run ANT with jdkVersion set to 1.8', async () => { + const testPath = path.join(__dirname, 'L0JDKSetTo8.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + assert(runner.ran('/usr/local/bin/ANT -version'), 'it should have run ANT -version'); + assert(runner.ran('/usr/local/bin/ANT -buildfile /build/build.xml'), 'it should have run ANT -buildfile ...'); + assert.strictEqual(runner.invokedToolCount, 2, 'should have run ANT 2 times'); + assert(runner.stderr.length == 0, 'should not have written to stderr'); + assert(runner.succeeded, 'task should have succeeded'); + assert(runner.stdOutContained('Set JAVA_HOME to /user/local/bin/ANT8'), 'JAVA_HOME not set correctly'); + }) + + it('run ANT with jdkVersion set to 1.5', async () => { + const testPath = path.join(__dirname, 'L0JDKSetTo5.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + if (isWindows) { + assert.strictEqual(runner.invokedToolCount, 1, 'should have run the reg query toolrunner'); + } else { + assert.strictEqual(runner.invokedToolCount, 0, 'should not have run tools'); + } + assert(runner.failed, 'task should have failed'); + assert(runner.stdOutContained('FailedToLocateSpecifiedJVM'), 'Should write FailedToLocateSpecifiedJVM error'); + }) + + it('run ANT valid inputs but it fails', async () => { + const testPath = path.join(__dirname, 'L0FailWithValidInputs.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + // The response file will cause ANT to fail, but we are looking for the warning about ANT_HOME + assert(runner.ran('/usr/local/bin/ANT -version'), 'it should have run ANT -version'); + assert(runner.ran('/usr/local/bin/ANT -buildfile /build/build.xml'), 'it should have run ANT -buildfile ...'); + assert(runner.invokedToolCount == 2, 'should have only run ANT 2 times'); + assert(runner.failed, 'task should have failed'); + }) + + it('Ant build with Publish Test Results.', async () => { + const testPath = path.join(__dirname, 'L0PublishTestResults.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + assert(runner.succeeded, 'The task should not have failed'); + assert(runner.stdout.search(/##vso\[results.publish type=JUnit;mergeResults=true;publishRunAttachments=true;resultFiles=\/user\/build\/fun\/test-123.xml;\]/) >= 0); + }) + + it('Ant build with Publish Test Results with no matching test result files.', async () => { + const testPath = path.join(__dirname, 'L0NoMatchingTestResults.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + assert(runner.stdout.search(/##vso\[results.publish\]/) < 0, 'publish test results should have not got called.'); + assert(runner.stderr.length == 0, 'should not have written to stderr'); + assert(runner.stdOutContained('NoTestResults'), 'should have warned about lack of test results'); + assert(runner.succeeded, 'task should have succeeded'); + }) + + it('Ant build with Publish Test Results for failed builds.', async () => { + const testPath = path.join(__dirname, 'L0FailedBuilds.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + assert(runner.stdout.search(/##vso\[results.publish type=JUnit;mergeResults=true;publishRunAttachments=true;resultFiles=\/user\/build\/fun\/test-123.xml;\]/) >= 0); + }) +}); diff --git a/Tasks/ANTV2/Tests/L0AllInputs.ts b/Tasks/ANTV2/Tests/L0AllInputs.ts new file mode 100644 index 000000000000..10d215ac3943 --- /dev/null +++ b/Tasks/ANTV2/Tests/L0AllInputs.ts @@ -0,0 +1,15 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('antBuildFile', '/build/build.xml'); // Make that checkPath returns true for this filename in the response file +runner.setInput('javaHomeSelection', 'JDKVersion'); +runner.setInput('jdkVersion', 'default'); +runner.setInput('testResultsFiles', '**/TEST-*.xml'); + +runner.setAnswers(answers.successAnswers); + +runner.run(); diff --git a/Tasks/ANTV2/Tests/L0AntHomeNotSet.ts b/Tasks/ANTV2/Tests/L0AntHomeNotSet.ts new file mode 100644 index 000000000000..f2927496aa4c --- /dev/null +++ b/Tasks/ANTV2/Tests/L0AntHomeNotSet.ts @@ -0,0 +1,17 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('antBuildFile', '/build/build.xml'); // Make that checkPath returns true for this filename in the response file +runner.setInput('javaHomeSelection', 'JDKVersion'); +runner.setInput('jdkVersion', 'default'); +runner.setInput('testResultsFiles', '**/TEST-*.xml'); + +runner.setAnswers(answers.versionFailAnswers); + +delete process.env['ANT_HOME']; + +runner.run(); diff --git a/Tasks/ANTV2/Tests/L0FailWithValidInputs.ts b/Tasks/ANTV2/Tests/L0FailWithValidInputs.ts new file mode 100644 index 000000000000..9fc326d786d6 --- /dev/null +++ b/Tasks/ANTV2/Tests/L0FailWithValidInputs.ts @@ -0,0 +1,15 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('antBuildFile', '/build/build.xml'); +runner.setInput('javaHomeSelection', 'JDKVersion'); +runner.setInput('jdkVersion', 'default'); +runner.setInput('testResultsFiles', '**/TEST-*.xml'); + +runner.setAnswers(answers.failAnswers); + +runner.run(); diff --git a/Tasks/ANTV2/Tests/L0FailedBuilds.ts b/Tasks/ANTV2/Tests/L0FailedBuilds.ts new file mode 100644 index 000000000000..4434c14f92d7 --- /dev/null +++ b/Tasks/ANTV2/Tests/L0FailedBuilds.ts @@ -0,0 +1,17 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('antBuildFile', '/build/build.xml'); // Make that checkPath returns true for this filename in the response file +runner.setInput('javaHomeSelection', 'JDKVersion'); +runner.setInput('jdkVersion', 'default'); +runner.setInput('testResultsFiles', '**/TEST-*.xml'); +runner.setInput('publishJUnitResults', 'true'); + +runner.setAnswers(answers.failAnswers); + +runner.run(); diff --git a/Tasks/ANTV2/Tests/L0InvalidUserHomePath.ts b/Tasks/ANTV2/Tests/L0InvalidUserHomePath.ts new file mode 100644 index 000000000000..e99d78796752 --- /dev/null +++ b/Tasks/ANTV2/Tests/L0InvalidUserHomePath.ts @@ -0,0 +1,16 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('antBuildFile', '/build/build.xml'); +runner.setInput('javaHomeSelection', 'JDKVersion'); +runner.setInput('jdkVersion', 'default'); +runner.setInput('testResultsFiles', '**/TEST-*.xml'); +runner.setInput('antHomeUserInputPath', '/usr/local/bin/ANT_invalid'); + +runner.setAnswers(answers.versionFailAnswers); + +runner.run(); diff --git a/Tasks/ANTV2/Tests/L0JDKSetTo5.ts b/Tasks/ANTV2/Tests/L0JDKSetTo5.ts new file mode 100644 index 000000000000..bbc0f0954791 --- /dev/null +++ b/Tasks/ANTV2/Tests/L0JDKSetTo5.ts @@ -0,0 +1,16 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('antBuildFile', '/build/build.xml'); +runner.setInput('javaHomeSelection', 'JDKVersion'); +runner.setInput('jdkVersion', '1.5'); +runner.setInput('jdkArchitecture', 'x86'); +runner.setInput('testResultsFiles', '**/TEST-*.xml'); + +runner.setAnswers(answers.successAnswers); + +runner.run(); diff --git a/Tasks/ANTV2/Tests/L0JDKSetTo8.ts b/Tasks/ANTV2/Tests/L0JDKSetTo8.ts new file mode 100644 index 000000000000..ee69c7d04d50 --- /dev/null +++ b/Tasks/ANTV2/Tests/L0JDKSetTo8.ts @@ -0,0 +1,19 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('antBuildFile', '/build/build.xml'); +runner.setInput('javaHomeSelection', 'JDKVersion'); +runner.setInput('jdkVersion', '1.8'); +runner.setInput('jdkArchitecture', 'x86'); +runner.setInput('testResultsFiles', '**/TEST-*.xml'); + +runner.setAnswers(answers.successAnswers); + +process.env['JAVA_HOME_8_X86'] = '/user/local/bin/ANT8'; +process.env['JAVA_HOME_8_X64'] = '/user/local/bin/ANT8'; + +runner.run(); diff --git a/Tasks/ANTV2/Tests/L0MissingAntBuildFile.ts b/Tasks/ANTV2/Tests/L0MissingAntBuildFile.ts new file mode 100644 index 000000000000..6e6ddeeed4d7 --- /dev/null +++ b/Tasks/ANTV2/Tests/L0MissingAntBuildFile.ts @@ -0,0 +1,14 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('javaHomeSelection', 'JDKVersion'); +runner.setInput('jdkVersion', 'default'); +runner.setInput('testResultsFiles', '**/TEST-*.xml'); + +runner.setAnswers(answers.successAnswers); + +runner.run(); diff --git a/Tasks/ANTV2/Tests/L0MissingJavaHomeSelection.ts b/Tasks/ANTV2/Tests/L0MissingJavaHomeSelection.ts new file mode 100644 index 000000000000..1df24ee56f42 --- /dev/null +++ b/Tasks/ANTV2/Tests/L0MissingJavaHomeSelection.ts @@ -0,0 +1,14 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('antBuildFile', '/build/build.xml'); +runner.setInput('jdkVersion', 'default'); +runner.setInput('testResultsFiles', '**/TEST-*.xml'); + +runner.setAnswers(answers.successAnswers); + +runner.run(); diff --git a/Tasks/ANTV2/Tests/L0MissingTestResultsFiles.ts b/Tasks/ANTV2/Tests/L0MissingTestResultsFiles.ts new file mode 100644 index 000000000000..e56109d5d6b2 --- /dev/null +++ b/Tasks/ANTV2/Tests/L0MissingTestResultsFiles.ts @@ -0,0 +1,14 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('antBuildFile', '/build/build.xml'); // Make that checkPath returns true for this filename in the response file +runner.setInput('javaHomeSelection', 'JDKVersion'); +runner.setInput('jdkVersion', 'default'); + +runner.setAnswers(answers.successAnswers); + +runner.run(); diff --git a/Tasks/ANTV2/Tests/L0NoMatchingTestResults.ts b/Tasks/ANTV2/Tests/L0NoMatchingTestResults.ts new file mode 100644 index 000000000000..5bb767c11399 --- /dev/null +++ b/Tasks/ANTV2/Tests/L0NoMatchingTestResults.ts @@ -0,0 +1,16 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('antBuildFile', '/build/build.xml'); // Make that checkPath returns true for this filename in the response file +runner.setInput('javaHomeSelection', 'JDKVersion'); +runner.setInput('jdkVersion', 'default'); +runner.setInput('testResultsFiles', '**/InvalidTestFilter-*.xml'); +runner.setInput('publishJUnitResults', 'true'); + +runner.setAnswers(answers.successAnswers); + +runner.run(); diff --git a/Tasks/ANTV2/Tests/L0PublishTestResults.ts b/Tasks/ANTV2/Tests/L0PublishTestResults.ts new file mode 100644 index 000000000000..c265214a5ce9 --- /dev/null +++ b/Tasks/ANTV2/Tests/L0PublishTestResults.ts @@ -0,0 +1,18 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('antBuildFile', '/build/build.xml'); // Make that checkPath returns true for this filename in the response file +runner.setInput('javaHomeSelection', 'JDKVersion'); +runner.setInput('jdkVersion', 'default'); +runner.setInput('testResultsFiles', '**/TEST-*.xml'); +runner.setInput('publishJUnitResults', 'true'); + +runner.setAnswers(answers.successAnswers); + +process.env['System.DefaultWorkingDirectory'] = '/user/build'; + +runner.run(); diff --git a/Tasks/ANTV2/Tests/L0RunWithAntHomeUserInputPath.ts b/Tasks/ANTV2/Tests/L0RunWithAntHomeUserInputPath.ts new file mode 100644 index 000000000000..53b3d2daa6ed --- /dev/null +++ b/Tasks/ANTV2/Tests/L0RunWithAntHomeUserInputPath.ts @@ -0,0 +1,16 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('antBuildFile', '/build/build.xml'); +runner.setInput('javaHomeSelection', 'JDKVersion'); +runner.setInput('jdkVersion', 'default'); +runner.setInput('testResultsFiles', '**/TEST-*.xml'); +runner.setInput('antHomeUserInputPath', '/usr/local/bin/ANT2'); + +runner.setAnswers(answers.successAnswers); + +runner.run(); diff --git a/Tasks/ANTV2/Tests/answers.ts b/Tasks/ANTV2/Tests/answers.ts new file mode 100644 index 000000000000..1425ef28749f --- /dev/null +++ b/Tasks/ANTV2/Tests/answers.ts @@ -0,0 +1,102 @@ +import { TaskLibAnswers } from 'azure-pipelines-task-lib/mock-answer'; + +export const successAnswers: TaskLibAnswers = { + "which": { + "ant": "/usr/local/bin/ANT", + "node": "/usr/local/bin/node" + }, + "exec": { + "/usr/local/bin/ANT -version": { + "code": 0, + "stdout": "Apache Ant(TM) version 1.9.7 compiled on April 9 2016" + }, + "/usr/local/bin/ANT -buildfile /build/build.xml": { + "code": 0, + "stdout": "" + }, + "reg query HKLM\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.5 /v JavaHome /reg:32": { + "code": 222, + "stdout": "" + }, + "reg query HKLM\\SOFTWARE\\JavaSoft\\Java Development Kit\\ /f 1.5 /k": { + "code": 50, + "stdout": "" + } + }, + "checkPath": { + "/usr/local/bin/ANT": true, + "/build/build.xml": true, + "/usr/local/bin/ANT2": true + }, + "getVariable": { + "ANT_HOME": "/user/local/bin/ANT", + "JAVA_HOME_8_x86": "/user/local/bin/ANT8", + "JAVA_HOME_8_X64": "/user/local/bin/ANT8", + "System.DefaultWorkingDirectory": "/user/build" + }, + "find": { + "/user/build": [ + "/user/build/fun/test-123.xml" + ] + }, + "findMatch": { + "**/TEST-*.xml": [ + "/user/build/fun/test-123.xml" + ] + } +}; + +export const failAnswers: TaskLibAnswers = { + "which": { + "ant": "/usr/local/bin/ANT", + "node": "/usr/local/bin/node" + }, + "exec": { + "/usr/local/bin/ANT -version": { + "code": 0, + "stdout": "Apache Ant(TM) version 1.9.7 compiled on April 9 2016" + }, + "/usr/local/bin/ANT -buildfile /build/build.xml": { + "code": 222, + "stdout": "" + } + }, + "checkPath": { + "/usr/local/bin/ANT": true, + "/build/build.xml": true + }, + "getVariable": { + "ANT_HOME": "/user/local/bin/ANT" + }, + "find": { + "/user/build": [ + "/user/build/fun/test-123.xml" + ] + }, + "findMatch": { + "**/TEST-*.xml": [ + "/user/build/fun/test-123.xml" + ] + } +}; + +export const versionFailAnswers: TaskLibAnswers = { + "which": { + "ant": "/usr/local/bin/ANT", + "node": "/usr/local/bin/node" + }, + "exec": { + "/usr/local/bin/ANT -version": { + "code": 222, + "stdout": "Apache Ant(TM) version 1.9.7 compiled on April 9 2016" + }, + "/usr/local/bin/ANT -buildfile /build/build.xml": { + "code": 0, + "stdout": "" + } + }, + "checkPath" : { + "/usr/local/bin/ANT": true, + "/build/build.xml": true + } +} diff --git a/Tasks/ANTV2/Tests/package-lock.json b/Tasks/ANTV2/Tests/package-lock.json new file mode 100644 index 000000000000..6f85833d69d0 --- /dev/null +++ b/Tasks/ANTV2/Tests/package-lock.json @@ -0,0 +1,14 @@ +{ + "name": "antv1-tests", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@types/mocha": { + "version": "5.2.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/mocha/-/mocha-5.2.7.tgz", + "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==", + "dev": true + } + } +} diff --git a/Tasks/ANTV2/Tests/package.json b/Tasks/ANTV2/Tests/package.json new file mode 100644 index 000000000000..37725de724e6 --- /dev/null +++ b/Tasks/ANTV2/Tests/package.json @@ -0,0 +1,22 @@ +{ + "name": "antv1-tests", + "version": "1.0.0", + "description": "Azure Pipelines Ant V1 Task Tests", + "main": "L0.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/Microsoft/azure-pipelines-tasks.git" + }, + "author": "Microsoft Corporation", + "license": "MIT", + "bugs": { + "url": "https://github.com/Microsoft/azure-pipelines-tasks/issues" + }, + "homepage": "https://github.com/Microsoft/azure-pipelines-tasks#readme", + "devDependencies": { + "@types/mocha": "^5.2.7" + } +} diff --git a/Tasks/ANTV2/ThirdPartyNotice.txt b/Tasks/ANTV2/ThirdPartyNotice.txt new file mode 100644 index 000000000000..e02a9dc6967a --- /dev/null +++ b/Tasks/ANTV2/ThirdPartyNotice.txt @@ -0,0 +1,1935 @@ + +THIRD-PARTY SOFTWARE NOTICES AND INFORMATION +Do Not Translate or Localize + +This Azure DevOps extension (ANTV1) is based on or incorporates material from the projects listed below (Third Party IP). The original copyright notice and the license under which Microsoft received such Third Party IP, are set forth below. Such licenses and notices are provided for informational purposes only. Microsoft licenses the Third Party IP to you under the licensing terms for the Azure DevOps extension. Microsoft reserves all other rights not expressly granted under this agreement, whether by implication, estoppel or otherwise. + +1. @types/node (git+https://github.com/DefinitelyTyped/DefinitelyTyped.git) +2. @types/q (git+https://github.com/DefinitelyTyped/DefinitelyTyped.git) +3. balanced-match (git://github.com/juliangruber/balanced-match.git) +4. boolbase (git+https://github.com/fb55/boolbase.git) +5. brace-expansion (git://github.com/juliangruber/brace-expansion.git) +6. cheerio (git://github.com/cheeriojs/cheerio.git) +7. codecoverage-tools (git://github.com/microsoft/azure-pipelines-tasks-coverage-tools.git) +8. concat-map (git://github.com/substack/node-concat-map.git) +9. core-util-is (git://github.com/isaacs/core-util-is.git) +10. css-select (git://github.com/fb55/css-select.git) +11. css-what (git+https://github.com/fb55/css-what.git) +12. dom-serializer (git://github.com/cheeriojs/dom-renderer.git) +13. domelementtype (git://github.com/FB55/domelementtype.git) +14. domelementtype (git://github.com/FB55/domelementtype.git) +15. domhandler (git://github.com/fb55/DomHandler.git) +16. domutils (git://github.com/FB55/domutils.git) +17. entities (git://github.com/fb55/node-entities.git) +18. fs-extra (git+https://github.com/jprichardson/node-fs-extra.git) +19. fs.realpath (git+https://github.com/isaacs/fs.realpath.git) +20. glob (git://github.com/isaacs/node-glob.git) +21. glob (git://github.com/isaacs/node-glob.git) +22. glob (git://github.com/isaacs/node-glob.git) +23. graceful-fs (git+https://github.com/isaacs/node-graceful-fs.git) +24. htmlparser2 (git://github.com/fb55/htmlparser2.git) +25. inflight (git+https://github.com/npm/inflight.git) +26. inherits (git://github.com/isaacs/inherits.git) +27. isarray (git://github.com/juliangruber/isarray.git) +28. jsonfile (git+ssh://git@github.com/jprichardson/node-jsonfile.git) +29. klaw (git+https://github.com/jprichardson/node-klaw.git) +30. lodash.assignin (git+https://github.com/lodash/lodash.git) +31. lodash.bind (git+https://github.com/lodash/lodash.git) +32. lodash.defaults (git+https://github.com/lodash/lodash.git) +33. lodash.filter (git+https://github.com/lodash/lodash.git) +34. lodash.flatten (git+https://github.com/lodash/lodash.git) +35. lodash.foreach (git+https://github.com/lodash/lodash.git) +36. lodash.map (git+https://github.com/lodash/lodash.git) +37. lodash.merge (git+https://github.com/lodash/lodash.git) +38. lodash.pick (git+https://github.com/lodash/lodash.git) +39. lodash.reduce (git+https://github.com/lodash/lodash.git) +40. lodash.reject (git+https://github.com/lodash/lodash.git) +41. lodash.some (git+https://github.com/lodash/lodash.git) +42. minimatch (git://github.com/isaacs/minimatch.git) +43. mockery (git://github.com/mfncooper/mockery.git) +44. node-uuid (git+https://github.com/broofa/node-uuid.git) +45. nth-check (git+https://github.com/fb55/nth-check.git) +46. once (git://github.com/isaacs/once.git) +47. os (git+https://github.com/DiegoRBaquero/node-os.git) +48. path-is-absolute (git+https://github.com/sindresorhus/path-is-absolute.git) +49. process-nextick-args (git+https://github.com/calvinmetcalf/process-nextick-args.git) +50. q (git://github.com/kriskowal/q.git) +51. readable-stream (git://github.com/nodejs/readable-stream.git) +52. rimraf (git://github.com/isaacs/rimraf.git) +53. safe-buffer (git://github.com/feross/safe-buffer.git) +54. sax (git://github.com/isaacs/sax-js.git) +55. semver (git+https://github.com/npm/node-semver.git) +56. shelljs (git://github.com/arturadib/shelljs.git) +57. string_decoder (git://github.com/nodejs/string_decoder.git) +58. strip-bom (git+https://github.com/sindresorhus/strip-bom.git) +59. util-deprecate (git://github.com/TooTallNate/util-deprecate.git) +60. uuid (git+https://github.com/kelektiv/node-uuid.git) +61. vso-node-api (git+https://github.com/Microsoft/vso-node-api.git) +62. vsts-task-lib (git+https://github.com/Microsoft/vsts-task-lib.git) +63. vsts-task-lib (git+https://github.com/Microsoft/vsts-task-lib.git) +64. vsts-task-lib (git+https://github.com/Microsoft/vsts-task-lib.git) +65. wrappy (git+https://github.com/npm/wrappy.git) +66. xml2js (git+https://github.com/Leonidas-from-XIV/node-xml2js.git) +67. xmlbuilder (git://github.com/oozcitak/xmlbuilder-js.git) + + +%% @types/node NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE +========================================= +END OF @types/node NOTICES, INFORMATION, AND LICENSE + +%% @types/q NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE +========================================= +END OF @types/q NOTICES, INFORMATION, AND LICENSE + +%% balanced-match NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +(MIT) + +Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +========================================= +END OF balanced-match NOTICES, INFORMATION, AND LICENSE + +%% boolbase NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +NO LICENSE FOUND +========================================= +END OF boolbase NOTICES, INFORMATION, AND LICENSE + +%% brace-expansion NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +MIT License + +Copyright (c) 2013 Julian Gruber + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +========================================= +END OF brace-expansion NOTICES, INFORMATION, AND LICENSE + +%% cheerio NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +NO LICENSE FOUND +========================================= +END OF cheerio NOTICES, INFORMATION, AND LICENSE + +%% codecoverage-tools NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +NO LICENSE FOUND +========================================= +END OF codecoverage-tools NOTICES, INFORMATION, AND LICENSE + +%% concat-map NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF concat-map NOTICES, INFORMATION, AND LICENSE + +%% core-util-is NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright Node.js contributors. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +========================================= +END OF core-util-is NOTICES, INFORMATION, AND LICENSE + +%% css-select NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +========================================= +END OF css-select NOTICES, INFORMATION, AND LICENSE + +%% css-what NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +========================================= +END OF css-what NOTICES, INFORMATION, AND LICENSE + +%% dom-serializer NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +License + +(The MIT License) + +Copyright (c) 2014 The cheeriojs contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF dom-serializer NOTICES, INFORMATION, AND LICENSE + +%% domelementtype NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +========================================= +END OF domelementtype NOTICES, INFORMATION, AND LICENSE + +%% domelementtype NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +========================================= +END OF domelementtype NOTICES, INFORMATION, AND LICENSE + +%% domhandler NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +========================================= +END OF domhandler NOTICES, INFORMATION, AND LICENSE + +%% domutils NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +========================================= +END OF domutils NOTICES, INFORMATION, AND LICENSE + +%% entities NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +========================================= +END OF entities NOTICES, INFORMATION, AND LICENSE + +%% fs-extra NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +(The MIT License) + +Copyright (c) 2011-2016 JP Richardson + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files +(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, + merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS +OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF fs-extra NOTICES, INFORMATION, AND LICENSE + +%% fs.realpath NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---- + +This library bundles a version of the `fs.realpath` and `fs.realpathSync` +methods from Node.js v0.10 under the terms of the Node.js MIT license. + +Node's license follows, also included at the header of `old.js` which contains +the licensed code: + + Copyright Joyent, Inc. and other Node contributors. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +========================================= +END OF fs.realpath NOTICES, INFORMATION, AND LICENSE + +%% glob NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF glob NOTICES, INFORMATION, AND LICENSE + +%% glob NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF glob NOTICES, INFORMATION, AND LICENSE + +%% glob NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF glob NOTICES, INFORMATION, AND LICENSE + +%% graceful-fs NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter, Ben Noordhuis, and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF graceful-fs NOTICES, INFORMATION, AND LICENSE + +%% htmlparser2 NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright 2010, 2011, Chris Winberry . All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +========================================= +END OF htmlparser2 NOTICES, INFORMATION, AND LICENSE + +%% inflight NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF inflight NOTICES, INFORMATION, AND LICENSE + +%% inherits NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF inherits NOTICES, INFORMATION, AND LICENSE + +%% isarray NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +NO LICENSE FOUND +========================================= +END OF isarray NOTICES, INFORMATION, AND LICENSE + +%% jsonfile NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +(The MIT License) + +Copyright (c) 2012-2015, JP Richardson + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files +(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, + merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS +OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF jsonfile NOTICES, INFORMATION, AND LICENSE + +%% klaw NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +(The MIT License) + +Copyright (c) 2015-2016 JP Richardson + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files +(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, + merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS +OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF klaw NOTICES, INFORMATION, AND LICENSE + +%% lodash.assignin NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.assignin NOTICES, INFORMATION, AND LICENSE + +%% lodash.bind NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.bind NOTICES, INFORMATION, AND LICENSE + +%% lodash.defaults NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.defaults NOTICES, INFORMATION, AND LICENSE + +%% lodash.filter NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.filter NOTICES, INFORMATION, AND LICENSE + +%% lodash.flatten NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.flatten NOTICES, INFORMATION, AND LICENSE + +%% lodash.foreach NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.foreach NOTICES, INFORMATION, AND LICENSE + +%% lodash.map NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.map NOTICES, INFORMATION, AND LICENSE + +%% lodash.merge NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright JS Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.merge NOTICES, INFORMATION, AND LICENSE + +%% lodash.pick NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.pick NOTICES, INFORMATION, AND LICENSE + +%% lodash.reduce NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.reduce NOTICES, INFORMATION, AND LICENSE + +%% lodash.reject NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.reject NOTICES, INFORMATION, AND LICENSE + +%% lodash.some NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.some NOTICES, INFORMATION, AND LICENSE + +%% minimatch NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF minimatch NOTICES, INFORMATION, AND LICENSE + +%% mockery NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyrights for code authored by Yahoo! Inc. is licensed under the following + terms: + + MIT License + + Copyright (c) 2011 Yahoo! Inc. All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +========================================= +END OF mockery NOTICES, INFORMATION, AND LICENSE + +%% node-uuid NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2010-2012 Robert Kieffer + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +========================================= +END OF node-uuid NOTICES, INFORMATION, AND LICENSE + +%% nth-check NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +NO LICENSE FOUND +========================================= +END OF nth-check NOTICES, INFORMATION, AND LICENSE + +%% once NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF once NOTICES, INFORMATION, AND LICENSE + +%% os NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2016 Diego Rodríguez Baquero + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +========================================= +END OF os NOTICES, INFORMATION, AND LICENSE + +%% path-is-absolute NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF path-is-absolute NOTICES, INFORMATION, AND LICENSE + +%% process-nextick-args NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +# Copyright (c) 2015 Calvin Metcalf + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +**THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.** +========================================= +END OF process-nextick-args NOTICES, INFORMATION, AND LICENSE + +%% q NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright 2009–2017 Kristopher Michael Kowal. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +========================================= +END OF q NOTICES, INFORMATION, AND LICENSE + +%% readable-stream NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Node.js is licensed for use as follows: + +""" +Copyright Node.js contributors. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" + +This license applies to parts of Node.js originating from the +https://github.com/joyent/node repository: + +""" +Copyright Joyent, Inc. and other Node contributors. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" +========================================= +END OF readable-stream NOTICES, INFORMATION, AND LICENSE + +%% rimraf NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF rimraf NOTICES, INFORMATION, AND LICENSE + +%% safe-buffer NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) Feross Aboukhadijeh + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF safe-buffer NOTICES, INFORMATION, AND LICENSE + +%% sax NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +==== + +`String.fromCodePoint` by Mathias Bynens used according to terms of MIT +License, as follows: + + Copyright Mathias Bynens + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF sax NOTICES, INFORMATION, AND LICENSE + +%% semver NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF semver NOTICES, INFORMATION, AND LICENSE + +%% shelljs NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) 2012, Artur Adib +All rights reserved. + +You may use this project under the terms of the New BSD license as follows: + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Artur Adib nor the + names of the contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL ARTUR ADIB BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +========================================= +END OF shelljs NOTICES, INFORMATION, AND LICENSE + +%% string_decoder NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Node.js is licensed for use as follows: + +""" +Copyright Node.js contributors. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" + +This license applies to parts of Node.js originating from the +https://github.com/joyent/node repository: + +""" +Copyright Joyent, Inc. and other Node contributors. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" +========================================= +END OF string_decoder NOTICES, INFORMATION, AND LICENSE + +%% strip-bom NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF strip-bom NOTICES, INFORMATION, AND LICENSE + +%% util-deprecate NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +(The MIT License) + +Copyright (c) 2014 Nathan Rajlich + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF util-deprecate NOTICES, INFORMATION, AND LICENSE + +%% uuid NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2010-2016 Robert Kieffer and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +========================================= +END OF uuid NOTICES, INFORMATION, AND LICENSE + +%% vso-node-api NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +NO LICENSE FOUND +========================================= +END OF vso-node-api NOTICES, INFORMATION, AND LICENSE + +%% vsts-task-lib NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) Microsoft Corporation. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +========================================= +END OF vsts-task-lib NOTICES, INFORMATION, AND LICENSE + +%% vsts-task-lib NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) Microsoft Corporation. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +========================================= +END OF vsts-task-lib NOTICES, INFORMATION, AND LICENSE + +%% vsts-task-lib NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) Microsoft Corporation. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +========================================= +END OF vsts-task-lib NOTICES, INFORMATION, AND LICENSE + +%% wrappy NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF wrappy NOTICES, INFORMATION, AND LICENSE + +%% xml2js NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright 2010, 2011, 2012, 2013. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +========================================= +END OF xml2js NOTICES, INFORMATION, AND LICENSE + +%% xmlbuilder NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2013 Ozgur Ozcitak + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF xmlbuilder NOTICES, INFORMATION, AND LICENSE + diff --git a/Tasks/ANTV2/_buildConfigs/Node20/.npmrc b/Tasks/ANTV2/_buildConfigs/Node20/.npmrc new file mode 100644 index 000000000000..969ccea07661 --- /dev/null +++ b/Tasks/ANTV2/_buildConfigs/Node20/.npmrc @@ -0,0 +1,3 @@ +registry=https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ + +always-auth=true \ No newline at end of file diff --git a/Tasks/ANTV2/_buildConfigs/Node20/Tests/.npmrc b/Tasks/ANTV2/_buildConfigs/Node20/Tests/.npmrc new file mode 100644 index 000000000000..969ccea07661 --- /dev/null +++ b/Tasks/ANTV2/_buildConfigs/Node20/Tests/.npmrc @@ -0,0 +1,3 @@ +registry=https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ + +always-auth=true \ No newline at end of file diff --git a/Tasks/ANTV2/_buildConfigs/Node20/Tests/package-lock.json b/Tasks/ANTV2/_buildConfigs/Node20/Tests/package-lock.json new file mode 100644 index 000000000000..f7b6ad94e7e6 --- /dev/null +++ b/Tasks/ANTV2/_buildConfigs/Node20/Tests/package-lock.json @@ -0,0 +1,22 @@ +{ + "name": "antv1-tests", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "antv1-tests", + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "@types/mocha": "^5.2.7" + } + }, + "node_modules/@types/mocha": { + "version": "5.2.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/mocha/-/mocha-5.2.7.tgz", + "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==", + "dev": true + } + } +} diff --git a/Tasks/ANTV2/_buildConfigs/Node20/Tests/package.json b/Tasks/ANTV2/_buildConfigs/Node20/Tests/package.json new file mode 100644 index 000000000000..37725de724e6 --- /dev/null +++ b/Tasks/ANTV2/_buildConfigs/Node20/Tests/package.json @@ -0,0 +1,22 @@ +{ + "name": "antv1-tests", + "version": "1.0.0", + "description": "Azure Pipelines Ant V1 Task Tests", + "main": "L0.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/Microsoft/azure-pipelines-tasks.git" + }, + "author": "Microsoft Corporation", + "license": "MIT", + "bugs": { + "url": "https://github.com/Microsoft/azure-pipelines-tasks/issues" + }, + "homepage": "https://github.com/Microsoft/azure-pipelines-tasks#readme", + "devDependencies": { + "@types/mocha": "^5.2.7" + } +} diff --git a/Tasks/ANTV2/_buildConfigs/Node20/package-lock.json b/Tasks/ANTV2/_buildConfigs/Node20/package-lock.json new file mode 100644 index 000000000000..70d714416ebf --- /dev/null +++ b/Tasks/ANTV2/_buildConfigs/Node20/package-lock.json @@ -0,0 +1,810 @@ +{ + "name": "Ant", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "Ant", + "license": "MIT", + "dependencies": { + "@types/mocha": "^5.2.7", + "@types/node": "^20.3.1", + "azure-pipelines-task-lib": "^4.15.0", + "azure-pipelines-tasks-java-common": "2.198.1", + "xml2js": "^0.6.2" + }, + "devDependencies": { + "typescript": "5.1.6" + } + }, + "node_modules/@types/concat-stream": { + "version": "1.6.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/form-data": { + "version": "0.0.33", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/form-data/-/form-data-0.0.33.tgz", + "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/mocha": { + "version": "5.2.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/mocha/-/mocha-5.2.7.tgz", + "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" + }, + "node_modules/@types/node": { + "version": "20.7.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-20.7.0.tgz", + "integrity": "sha512-zI22/pJW2wUZOVyguFaUL1HABdmSVxpXrzIqkjsHmyUjNhPoWM1CKfvVuXfetHhIok4RY573cqS0mZ1SJEnoTg==" + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "node_modules/@types/semver": { + "version": "7.3.9", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/semver/-/semver-7.3.9.tgz", + "integrity": "sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ==" + }, + "node_modules/adm-zip": { + "version": "0.5.15", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.5.15.tgz", + "integrity": "sha512-jYPWSeOA8EFoZnucrKCNihqBjoEGQSU4HKgHYQgKNEQ0pQF9a/DYuo/+fAxY76k4qe75LUlLWpAM1QWcBMTOKw==", + "engines": { + "node": ">=12.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/azure-pipelines-task-lib": { + "version": "4.15.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.15.0.tgz", + "integrity": "sha512-Y72FjLTE2CAM9KrBXzc6vjelTBCpdYb2NkyFB0hwksTrhA3q8nsF680dofuTeXztQ94UTpkK27hpgSHnqYf5ZA==", + "dependencies": { + "adm-zip": "^0.5.10", + "minimatch": "3.0.5", + "nodejs-file-downloader": "^4.11.1", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "uuid": "^3.0.1" + } + }, + "node_modules/azure-pipelines-task-lib/node_modules/minimatch": { + "version": "3.0.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/azure-pipelines-tasks-java-common": { + "version": "2.198.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-java-common/-/azure-pipelines-tasks-java-common-2.198.1.tgz", + "integrity": "sha512-LaEdGpC4/5nt3krZOJNIH8r+ZxOEhxocpTH/J//Vx98LeYC6zLGyrmCdTLBrY58nJ9Bo7PD/0ARrasXFPv5VkQ==", + "dependencies": { + "@types/node": "^10.17.0", + "@types/semver": "^7.3.3", + "azure-pipelines-task-lib": "^3.1.0", + "semver": "^7.3.2" + } + }, + "node_modules/azure-pipelines-tasks-java-common/node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + }, + "node_modules/azure-pipelines-tasks-java-common/node_modules/azure-pipelines-task-lib": { + "version": "3.4.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-task-lib/-/azure-pipelines-task-lib-3.4.0.tgz", + "integrity": "sha512-3eC4OTFw+7xD7A2aUhxR/j+jRlTI+vVfS0CGxt1pCLs4c/KmY0tQWgbqjD3157kmiucWxELBvgZHaD2gCBe9fg==", + "license": "MIT", + "dependencies": { + "minimatch": "3.0.5", + "mockery": "^2.1.0", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "sync-request": "6.1.0", + "uuid": "^3.0.1" + } + }, + "node_modules/azure-pipelines-tasks-java-common/node_modules/azure-pipelines-task-lib/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/azure-pipelines-tasks-java-common/node_modules/minimatch": { + "version": "3.0.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/azure-pipelines-tasks-java-common/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/debug": { + "version": "4.3.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "2.5.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/get-intrinsic": { + "version": "1.1.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-port": { + "version": "3.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/http-basic": { + "version": "8.1.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/http-basic/-/http-basic-8.1.3.tgz", + "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", + "dependencies": { + "caseless": "^0.12.0", + "concat-stream": "^1.6.2", + "http-response-object": "^3.0.1", + "parse-cache-control": "^1.0.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/http-response-object": { + "version": "3.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/http-response-object/-/http-response-object-3.0.2.tgz", + "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", + "dependencies": { + "@types/node": "^10.0.3" + } + }, + "node_modules/http-response-object/node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-core-module": { + "version": "2.10.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mockery": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mockery/-/mockery-2.1.0.tgz", + "integrity": "sha512-9VkOmxKlWXoDO/h1jDZaS4lH33aWfRiJiNT/tKj+8OGzrcFDLo8d0syGdbsc3Bc4GvRXPb+NMMvojotmuGJTvA==" + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/nodejs-file-downloader": { + "version": "4.13.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", + "integrity": "sha512-nI2fKnmJWWFZF6SgMPe1iBodKhfpztLKJTtCtNYGhm/9QXmWa/Pk9Sv00qHgzEvNLe1x7hjGDRor7gcm/ChaIQ==", + "dependencies": { + "follow-redirects": "^1.15.6", + "https-proxy-agent": "^5.0.0", + "mime-types": "^2.1.27", + "sanitize-filename": "^1.6.3" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parse-cache-control": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/parse-cache-control/-/parse-cache-control-1.0.1.tgz", + "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/promise": { + "version": "8.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/promise/-/promise-8.2.0.tgz", + "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==", + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/sanitize-filename": { + "version": "1.6.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", + "dependencies": { + "truncate-utf8-bytes": "^1.0.0" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sync-request": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sync-request/-/sync-request-6.1.0.tgz", + "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", + "dependencies": { + "http-response-object": "^3.0.1", + "sync-rpc": "^1.2.1", + "then-request": "^6.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/sync-rpc": { + "version": "1.3.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sync-rpc/-/sync-rpc-1.3.6.tgz", + "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", + "dependencies": { + "get-port": "^3.1.0" + } + }, + "node_modules/then-request": { + "version": "6.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/then-request/-/then-request-6.0.2.tgz", + "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", + "dependencies": { + "@types/concat-stream": "^1.6.0", + "@types/form-data": "0.0.33", + "@types/node": "^8.0.0", + "@types/qs": "^6.2.31", + "caseless": "~0.12.0", + "concat-stream": "^1.6.0", + "form-data": "^2.2.0", + "http-basic": "^8.1.1", + "http-response-object": "^3.0.1", + "promise": "^8.0.0", + "qs": "^6.4.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/then-request/node_modules/@types/node": { + "version": "8.10.66", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" + }, + "node_modules/truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", + "dependencies": { + "utf8-byte-length": "^1.0.1" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + }, + "node_modules/typescript": { + "version": "5.1.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/utf8-byte-length": { + "version": "1.0.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", + "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/xml2js": { + "version": "0.6.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/xml2js/-/xml2js-0.6.2.tgz", + "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "license": "MIT", + "engines": { + "node": ">=4.0" + } + } + } +} diff --git a/Tasks/ANTV2/_buildConfigs/Node20/package.json b/Tasks/ANTV2/_buildConfigs/Node20/package.json new file mode 100644 index 000000000000..b0a43dc2c722 --- /dev/null +++ b/Tasks/ANTV2/_buildConfigs/Node20/package.json @@ -0,0 +1,19 @@ +{ + "name": "Ant", + "author": "Microsoft Corporation", + "description": "Build with Apache Ant", + "license": "MIT", + "bugs": { + "url": "https://github.com/Microsoft/vso-agent-tasks/issues" + }, + "dependencies": { + "@types/mocha": "^5.2.7", + "@types/node": "^20.3.1", + "azure-pipelines-task-lib": "^4.15.0", + "azure-pipelines-tasks-java-common": "2.198.1", + "xml2js": "^0.6.2" + }, + "devDependencies": { + "typescript": "5.1.6" + } +} diff --git a/Tasks/ANTV2/anttask.ts b/Tasks/ANTV2/anttask.ts new file mode 100644 index 000000000000..edb98992ffd9 --- /dev/null +++ b/Tasks/ANTV2/anttask.ts @@ -0,0 +1,171 @@ +import * as os from 'os'; +import * as path from 'path'; +import * as tl from 'azure-pipelines-task-lib/task'; + +import * as javacommons from 'azure-pipelines-tasks-java-common/java-common'; + +tl.setResourcePath(path.join(__dirname, 'task.json')); + +const TESTRUN_SYSTEM = "VSTS - ant"; +const isWindows = os.type().match(/^Win/); + + +function publishTestResults(publishJUnitResults, testResultsFiles: string) { + if (publishJUnitResults == 'true') { + //check for pattern in testResultsFiles + let matchingTestResultsFiles; + if (testResultsFiles.indexOf('*') >= 0 || testResultsFiles.indexOf('?') >= 0) { + tl.debug('Pattern found in testResultsFiles parameter'); + const buildFolder = tl.getVariable('System.DefaultWorkingDirectory'); + matchingTestResultsFiles = tl.findMatch(buildFolder, testResultsFiles, null, { matchBase: true }); + } + else { + tl.debug('No pattern found in testResultsFiles parameter'); + matchingTestResultsFiles = [testResultsFiles]; + } + + if (!matchingTestResultsFiles || matchingTestResultsFiles.length === 0) { + console.log(tl.loc('NoTestResults', testResultsFiles)); + return 0; + } + + let tp = new tl.TestPublisher("JUnit"); + const testRunTitle = tl.getInput('testRunTitle'); + + tp.publish(matchingTestResultsFiles, 'true', "", "", testRunTitle, 'true', TESTRUN_SYSTEM); + } +} + +function processAntOutputLine(line) { + if (line == null) { + return; + } + + const javacText = "[javac] "; + //[java] [javac] c:\path\to\file:100: error: error_msg + const compileErrorFileRegexWin = /^(\[java\])?\s*\[javac\]\s*([^:]:[^:]+):(\d+):\s*(.+)$/ + //[java] [javac] /path/to/file:100: error: error_msg + const compileErrorFileRegexUnix = /^(\[java\])?\s*\[javac\]\s*([^:]+):(\d+):\s*(.+)$/ + const compileErrorFileRegex = (isWindows) ? compileErrorFileRegexWin : compileErrorFileRegexUnix; + + let severity = null; + if (line.indexOf(javacText) >= 0) { + // parse javac errors and warnings + const matches = compileErrorFileRegex.exec(line); + if (matches) { + let errorMessage = matches[4]; + if (errorMessage) { + if (errorMessage.startsWith('warning:')) { + severity = 'warning'; + } else if (errorMessage.startsWith('error:')) { + severity = 'error'; + } + } + + tl.command('task.issue', { + type: severity, + sourcepath: matches[2], + linenumber: matches[3], + }, matches[0]); + } + } +} + + + +async function doWork() { + + try { + var anttool = tl.which('ant', true); + var antv = tl.tool(anttool); + antv.arg('-version'); + + var antb = tl.tool(anttool); + var antBuildFile = tl.getPathInput('antBuildFile', true, true); + antb.arg('-buildfile'); + antb.arg(antBuildFile); + + // options and targets are optional + antb.line(tl.getInput('options', false)); + antb.arg(tl.getDelimitedInput('targets', ' ', false)); + + // update ANT_HOME if user specified path manually (not required, but if so, check it) + var antHomeUserInputPath = tl.getPathInput('antHomeUserInputPath', false, true); + if (antHomeUserInputPath) { + tl.debug('Using path from user input to set ANT_HOME'); + tl.debug('Set ANT_HOME to ' + antHomeUserInputPath); + process.env['ANT_HOME'] = antHomeUserInputPath; + } + + // Warn if ANT_HOME is not set either locally or on the task via antHomeUserInputPath + var antHome = tl.getVariable('ANT_HOME'); + if (!antHome) { + tl.warning('The ANT_HOME environment variable is not set. Please make sure that it exists and is set to the location of the bin folder. See https://ant.apache.org/manual/install.html.'); + } + + // update JAVA_HOME if user selected specific JDK version or set path manually + var javaHomeSelection = tl.getInput('javaHomeSelection', true); + var specifiedJavaHome = null; + var javaTelemetryData = null; + if (javaHomeSelection == 'JDKVersion') { + tl.debug('Using JDK version to find and set JAVA_HOME'); + var jdkVersion = tl.getInput('jdkVersion'); + var jdkArchitecture = tl.getInput('jdkArchitecture'); + javaTelemetryData = { "jdkVersion": jdkVersion }; + + if (jdkVersion != 'default') { + specifiedJavaHome = javacommons.findJavaHome(jdkVersion, jdkArchitecture); + } + } + else { + tl.debug('Using path from user input to set JAVA_HOME'); + var jdkUserInputPath = tl.getPathInput('jdkUserInputPath', true, true); + specifiedJavaHome = jdkUserInputPath; + javaTelemetryData = { "jdkVersion": "custom" }; + } + javacommons.publishJavaTelemetry('Ant', javaTelemetryData); + + if (specifiedJavaHome) { + tl.debug('Set JAVA_HOME to ' + specifiedJavaHome); + process.env['JAVA_HOME'] = specifiedJavaHome; + } + + + var publishJUnitResults = tl.getInput('publishJUnitResults'); + var testResultsFiles = tl.getInput('testResultsFiles', true); + + await antv.exec(); + var buffer; + antb.on('stdout', (data) => { + if (data) { + buffer += data.toString(); + let idx = buffer.indexOf(os.EOL); + while (idx > -1) { + let line = buffer.substring(0, idx); + processAntOutputLine(line); + buffer = buffer.substring(idx + os.EOL.length); + idx = buffer.indexOf(os.EOL); + } + } + }); + + await antb.exec() + .then(async function (code) { + publishTestResults(publishJUnitResults, testResultsFiles); + tl.setResult(tl.TaskResult.Succeeded, "Task succeeded"); + }) + .fail(function (err) { + console.error(err.message); + publishTestResults(publishJUnitResults, testResultsFiles); + tl.debug('taskRunner fail'); + tl.setResult(tl.TaskResult.Failed, err); + }); + } catch (e) { + tl.debug(e.message); + tl.error(e); + tl.setResult(tl.TaskResult.Failed, e.message); + } +} + +doWork(); + diff --git a/Tasks/ANTV2/icon.png b/Tasks/ANTV2/icon.png new file mode 100644 index 000000000000..b9b2b3db07b9 Binary files /dev/null and b/Tasks/ANTV2/icon.png differ diff --git a/Tasks/ANTV2/icon.svg b/Tasks/ANTV2/icon.svg new file mode 100644 index 000000000000..c2bb6a7998f6 --- /dev/null +++ b/Tasks/ANTV2/icon.svg @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tasks/ANTV2/make.json b/Tasks/ANTV2/make.json new file mode 100644 index 000000000000..8db9a0bf80f7 --- /dev/null +++ b/Tasks/ANTV2/make.json @@ -0,0 +1,11 @@ +{ + "rm": [ + { + "items": [ + "node_modules/azure-pipelines-tasks-java-common/node_modules/azure-pipelines-task-lib", + "node_modules/mockery" + ], + "options": "-Rf" + } + ] +} \ No newline at end of file diff --git a/Tasks/ANTV2/package-lock.json b/Tasks/ANTV2/package-lock.json new file mode 100644 index 000000000000..639c75fe7de2 --- /dev/null +++ b/Tasks/ANTV2/package-lock.json @@ -0,0 +1,630 @@ +{ + "name": "Ant", + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@types/concat-stream": { + "version": "1.6.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", + "requires": { + "@types/node": "*" + } + }, + "@types/form-data": { + "version": "0.0.33", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/form-data/-/form-data-0.0.33.tgz", + "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", + "requires": { + "@types/node": "*" + } + }, + "@types/mocha": { + "version": "5.2.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/mocha/-/mocha-5.2.7.tgz", + "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" + }, + "@types/node": { + "version": "16.11.60", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.60.tgz", + "integrity": "sha512-kYIYa1D1L+HDv5M5RXQeEu1o0FKA6yedZIoyugm/MBPROkLpX4L7HRxMrPVyo8bnvjpW/wDlqFNGzXNMb7AdRw==" + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "@types/semver": { + "version": "7.3.9", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/semver/-/semver-7.3.9.tgz", + "integrity": "sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ==" + }, + "adm-zip": { + "version": "0.5.15", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.5.15.tgz", + "integrity": "sha512-jYPWSeOA8EFoZnucrKCNihqBjoEGQSU4HKgHYQgKNEQ0pQF9a/DYuo/+fAxY76k4qe75LUlLWpAM1QWcBMTOKw==" + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, + "asap": { + "version": "2.0.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "azure-pipelines-task-lib": { + "version": "4.15.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.15.0.tgz", + "integrity": "sha512-Y72FjLTE2CAM9KrBXzc6vjelTBCpdYb2NkyFB0hwksTrhA3q8nsF680dofuTeXztQ94UTpkK27hpgSHnqYf5ZA==", + "requires": { + "adm-zip": "^0.5.10", + "minimatch": "3.0.5", + "nodejs-file-downloader": "^4.11.1", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "uuid": "^3.0.1" + }, + "dependencies": { + "minimatch": { + "version": "3.0.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "azure-pipelines-tasks-java-common": { + "version": "2.198.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-java-common/-/azure-pipelines-tasks-java-common-2.198.1.tgz", + "integrity": "sha512-LaEdGpC4/5nt3krZOJNIH8r+ZxOEhxocpTH/J//Vx98LeYC6zLGyrmCdTLBrY58nJ9Bo7PD/0ARrasXFPv5VkQ==", + "requires": { + "@types/node": "^10.17.0", + "@types/semver": "^7.3.3", + "azure-pipelines-task-lib": "^3.1.0", + "semver": "^7.3.2" + }, + "dependencies": { + "@types/node": { + "version": "10.17.60", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + }, + "azure-pipelines-task-lib": { + "version": "3.3.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-task-lib/-/azure-pipelines-task-lib-3.3.1.tgz", + "integrity": "sha512-56ZAr4MHIoa24VNVuwPL4iUQ5MKaigPoYXkBG8E8fiVmh8yZdatUo25meNoQwg77vDY22F63Q44UzXoMWmy7ag==", + "requires": { + "minimatch": "3.0.5", + "mockery": "^1.7.0", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "sync-request": "6.1.0", + "uuid": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + } + } + }, + "minimatch": { + "version": "3.0.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "semver": { + "version": "7.6.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==" + } + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "debug": { + "version": "4.3.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "requires": { + "ms": "2.1.2" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "follow-redirects": { + "version": "1.15.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" + }, + "form-data": { + "version": "2.5.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-port": { + "version": "3.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "http-basic": { + "version": "8.1.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/http-basic/-/http-basic-8.1.3.tgz", + "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", + "requires": { + "caseless": "^0.12.0", + "concat-stream": "^1.6.2", + "http-response-object": "^3.0.1", + "parse-cache-control": "^1.0.1" + } + }, + "http-response-object": { + "version": "3.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/http-response-object/-/http-response-object-3.0.2.tgz", + "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", + "requires": { + "@types/node": "^10.0.3" + }, + "dependencies": { + "@types/node": { + "version": "10.17.60", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + } + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" + }, + "is-core-module": { + "version": "2.10.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "requires": { + "has": "^1.0.3" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "mockery": { + "version": "1.7.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mockery/-/mockery-1.7.0.tgz", + "integrity": "sha512-gUQA33ayi0tuAhr/rJNZPr7Q7uvlBt4gyJPbi0CDcAfIzIrDu1YgGMFgmAu3stJqBpK57m7+RxUbcS+pt59fKQ==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "nodejs-file-downloader": { + "version": "4.13.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", + "integrity": "sha512-nI2fKnmJWWFZF6SgMPe1iBodKhfpztLKJTtCtNYGhm/9QXmWa/Pk9Sv00qHgzEvNLe1x7hjGDRor7gcm/ChaIQ==", + "requires": { + "follow-redirects": "^1.15.6", + "https-proxy-agent": "^5.0.0", + "mime-types": "^2.1.27", + "sanitize-filename": "^1.6.3" + } + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "parse-cache-control": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/parse-cache-control/-/parse-cache-control-1.0.1.tgz", + "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "promise": { + "version": "8.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/promise/-/promise-8.2.0.tgz", + "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==", + "requires": { + "asap": "~2.0.6" + } + }, + "q": { + "version": "1.5.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" + }, + "qs": { + "version": "6.11.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "requires": { + "resolve": "^1.1.6" + } + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "sanitize-filename": { + "version": "1.6.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", + "requires": { + "truncate-utf8-bytes": "^1.0.0" + } + }, + "sax": { + "version": "1.4.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" + }, + "semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + }, + "shelljs": { + "version": "0.8.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "sync-request": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sync-request/-/sync-request-6.1.0.tgz", + "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", + "requires": { + "http-response-object": "^3.0.1", + "sync-rpc": "^1.2.1", + "then-request": "^6.0.0" + } + }, + "sync-rpc": { + "version": "1.3.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sync-rpc/-/sync-rpc-1.3.6.tgz", + "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", + "requires": { + "get-port": "^3.1.0" + } + }, + "then-request": { + "version": "6.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/then-request/-/then-request-6.0.2.tgz", + "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", + "requires": { + "@types/concat-stream": "^1.6.0", + "@types/form-data": "0.0.33", + "@types/node": "^8.0.0", + "@types/qs": "^6.2.31", + "caseless": "~0.12.0", + "concat-stream": "^1.6.0", + "form-data": "^2.2.0", + "http-basic": "^8.1.1", + "http-response-object": "^3.0.1", + "promise": "^8.0.0", + "qs": "^6.4.0" + }, + "dependencies": { + "@types/node": { + "version": "8.10.66", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" + } + } + }, + "truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", + "requires": { + "utf8-byte-length": "^1.0.1" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + }, + "typescript": { + "version": "4.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typescript/-/typescript-4.0.2.tgz", + "integrity": "sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==", + "dev": true + }, + "utf8-byte-length": { + "version": "1.0.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", + "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xml2js": { + "version": "0.6.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/xml2js/-/xml2js-0.6.2.tgz", + "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" + } + } +} diff --git a/Tasks/ANTV2/package.json b/Tasks/ANTV2/package.json new file mode 100644 index 000000000000..16c601cfa92a --- /dev/null +++ b/Tasks/ANTV2/package.json @@ -0,0 +1,19 @@ +{ + "name": "Ant", + "author": "Microsoft Corporation", + "description": "Build with Apache Ant", + "license": "MIT", + "bugs": { + "url": "https://github.com/Microsoft/vso-agent-tasks/issues" + }, + "dependencies": { + "@types/mocha": "^5.2.7", + "@types/node": "^16.11.39", + "azure-pipelines-task-lib": "^4.15.0", + "azure-pipelines-tasks-java-common": "2.198.1", + "xml2js": "^0.6.2" + }, + "devDependencies": { + "typescript": "4.0.2" + } +} diff --git a/Tasks/ANTV2/task.json b/Tasks/ANTV2/task.json new file mode 100644 index 000000000000..55e26a6469e3 --- /dev/null +++ b/Tasks/ANTV2/task.json @@ -0,0 +1,194 @@ +{ + "id": "3A6A2D63-F2B2-4E93-BCF9-0CBE22F5DC26", + "name": "Ant", + "friendlyName": "Ant", + "description": "Build with Apache Ant", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/build/ant", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613718) or [see the Ant documentation](http://ant.apache.org/)", + "category": "Build", + "visibility": [ + "Build", + "Release" + ], + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 2, + "Minor": 248, + "Patch": 0 + }, + "demands": [ + "ant" + ], + "minimumAgentVersion": "1.89.0", + "groups": [ + { + "name": "junitTestResults", + "displayName": "JUnit Test Results", + "isExpanded": true + }, + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": false + } + ], + "instanceNameFormat": "Ant $(options) $(antBuildFile)", + "inputs": [ + { + "name": "antBuildFile", + "aliases": [ + "buildFile" + ], + "type": "filePath", + "label": "Ant build file", + "defaultValue": "build.xml", + "required": true, + "helpMarkDown": "Relative path from the repository root to the Ant build file." + }, + { + "name": "options", + "type": "string", + "label": "Options", + "defaultValue": "", + "required": false, + "helpMarkDown": "Provide any options to pass to the Ant command line. You can provide your own properties (for example, ***-DmyProperty=myPropertyValue***) and also use built-in variables (for example, ***-DcollectionId=$(system.collectionId)***). Alternatively, the built-in variables are already set as environment variables during the build and can be passed directly (for example, ***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***)." + }, + { + "name": "targets", + "type": "string", + "label": "Target(s)", + "defaultValue": "", + "required": false, + "helpMarkDown": "An optional, space-separated list of targets to build. If not specified, the `default` target will be used. If no `default` target is defined, Ant 1.6.0 and later will build all top-level tasks." + }, + { + "name": "publishJUnitResults", + "type": "boolean", + "label": "Publish to Azure Pipelines", + "required": true, + "defaultValue": "true", + "groupName": "junitTestResults", + "helpMarkDown": "Select this option to publish JUnit test results produced by the Ant build to Azure Pipelines. Each test results file matching `Test Results Files` will be published as a test run in Azure Pipelines." + }, + { + "name": "testResultsFiles", + "type": "filePath", + "label": "Test results files", + "defaultValue": "**/TEST-*.xml", + "required": true, + "groupName": "junitTestResults", + "helpMarkDown": "Test results files path. Wildcards can be used ([more information](https://go.microsoft.com/fwlink/?linkid=856077)). For example, `**/TEST-*.xml` for all XML files whose name starts with TEST-.", + "visibleRule": "publishJUnitResults = true" + }, + { + "name": "testRunTitle", + "type": "string", + "label": "Test run title", + "defaultValue": "", + "required": false, + "groupName": "junitTestResults", + "helpMarkDown": "Provide a name for the test run.", + "visibleRule": "publishJUnitResults = true" + }, + { + "name": "antHomeUserInputPath", + "aliases": [ + "antHomeDirectory" + ], + "type": "string", + "label": "Set ANT_HOME path", + "required": false, + "groupName": "advanced", + "defaultValue": "", + "helpMarkDown": "If set, overrides any existing ANT_HOME environment variable with the given path." + }, + { + "name": "javaHomeSelection", + "aliases": [ + "javaHomeOption" + ], + "type": "radio", + "label": "Set JAVA_HOME by", + "required": true, + "groupName": "advanced", + "defaultValue": "JDKVersion", + "helpMarkDown": "Sets JAVA_HOME either by selecting a JDK version that will be discovered during builds or by manually entering a JDK path.", + "options": { + "JDKVersion": "JDK Version", + "Path": "Path" + } + }, + { + "name": "jdkVersion", + "aliases": [ + "jdkVersionOption" + ], + "type": "pickList", + "label": "JDK version", + "required": false, + "groupName": "advanced", + "defaultValue": "default", + "helpMarkDown": "Will attempt to discover the path to the selected JDK version and set JAVA_HOME accordingly.", + "visibleRule": "javaHomeSelection = JDKVersion", + "options": { + "default": "default", + "1.11": "JDK 11", + "1.10": "JDK 10 (out of support)", + "1.9": "JDK 9 (out of support)", + "1.8": "JDK 8", + "1.7": "JDK 7", + "1.6": "JDK 6 (out of support)" + } + }, + { + "name": "jdkUserInputPath", + "aliases": [ + "jdkUserInputDirectory" + ], + "type": "string", + "label": "JDK path", + "required": true, + "groupName": "advanced", + "defaultValue": "", + "helpMarkDown": "Sets JAVA_HOME to the given path.", + "visibleRule": "javaHomeSelection = Path" + }, + { + "name": "jdkArchitecture", + "aliases": [ + "jdkArchitectureOption" + ], + "type": "pickList", + "label": "JDK architecture", + "defaultValue": "x64", + "required": false, + "helpMarkDown": "Optionally supply the architecture (x86, x64) of the JDK.", + "visibleRule": "jdkVersion != default", + "groupName": "advanced", + "options": { + "x86": "x86", + "x64": "x64" + } + } + ], + "execution": { + "Node10": { + "target": "anttask.js", + "argumentFormat": "" + }, + "Node16": { + "target": "anttask.js", + "argumentFormat": "" + } + }, + "messages": { + "LocateJVMBasedOnVersionAndArch": "Locate JAVA_HOME for Java %s %s", + "UnsupportedJdkWarning": "JDK 9 and JDK 10 are out of support. Please switch to a later version in your project and pipeline. Attempting to build with JDK 11...", + "FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", + "NoTestResults": "No test result files matching %s were found, so publishing JUnit test results is being skipped." + } +} \ No newline at end of file diff --git a/Tasks/ANTV2/task.loc.json b/Tasks/ANTV2/task.loc.json new file mode 100644 index 000000000000..98ad8915fe76 --- /dev/null +++ b/Tasks/ANTV2/task.loc.json @@ -0,0 +1,194 @@ +{ + "id": "3A6A2D63-F2B2-4E93-BCF9-0CBE22F5DC26", + "name": "Ant", + "friendlyName": "ms-resource:loc.friendlyName", + "description": "ms-resource:loc.description", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/build/ant", + "helpMarkDown": "ms-resource:loc.helpMarkDown", + "category": "Build", + "visibility": [ + "Build", + "Release" + ], + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 2, + "Minor": 248, + "Patch": 0 + }, + "demands": [ + "ant" + ], + "minimumAgentVersion": "1.89.0", + "groups": [ + { + "name": "junitTestResults", + "displayName": "ms-resource:loc.group.displayName.junitTestResults", + "isExpanded": true + }, + { + "name": "advanced", + "displayName": "ms-resource:loc.group.displayName.advanced", + "isExpanded": false + } + ], + "instanceNameFormat": "ms-resource:loc.instanceNameFormat", + "inputs": [ + { + "name": "antBuildFile", + "aliases": [ + "buildFile" + ], + "type": "filePath", + "label": "ms-resource:loc.input.label.antBuildFile", + "defaultValue": "build.xml", + "required": true, + "helpMarkDown": "ms-resource:loc.input.help.antBuildFile" + }, + { + "name": "options", + "type": "string", + "label": "ms-resource:loc.input.label.options", + "defaultValue": "", + "required": false, + "helpMarkDown": "ms-resource:loc.input.help.options" + }, + { + "name": "targets", + "type": "string", + "label": "ms-resource:loc.input.label.targets", + "defaultValue": "", + "required": false, + "helpMarkDown": "ms-resource:loc.input.help.targets" + }, + { + "name": "publishJUnitResults", + "type": "boolean", + "label": "ms-resource:loc.input.label.publishJUnitResults", + "required": true, + "defaultValue": "true", + "groupName": "junitTestResults", + "helpMarkDown": "ms-resource:loc.input.help.publishJUnitResults" + }, + { + "name": "testResultsFiles", + "type": "filePath", + "label": "ms-resource:loc.input.label.testResultsFiles", + "defaultValue": "**/TEST-*.xml", + "required": true, + "groupName": "junitTestResults", + "helpMarkDown": "ms-resource:loc.input.help.testResultsFiles", + "visibleRule": "publishJUnitResults = true" + }, + { + "name": "testRunTitle", + "type": "string", + "label": "ms-resource:loc.input.label.testRunTitle", + "defaultValue": "", + "required": false, + "groupName": "junitTestResults", + "helpMarkDown": "ms-resource:loc.input.help.testRunTitle", + "visibleRule": "publishJUnitResults = true" + }, + { + "name": "antHomeUserInputPath", + "aliases": [ + "antHomeDirectory" + ], + "type": "string", + "label": "ms-resource:loc.input.label.antHomeUserInputPath", + "required": false, + "groupName": "advanced", + "defaultValue": "", + "helpMarkDown": "ms-resource:loc.input.help.antHomeUserInputPath" + }, + { + "name": "javaHomeSelection", + "aliases": [ + "javaHomeOption" + ], + "type": "radio", + "label": "ms-resource:loc.input.label.javaHomeSelection", + "required": true, + "groupName": "advanced", + "defaultValue": "JDKVersion", + "helpMarkDown": "ms-resource:loc.input.help.javaHomeSelection", + "options": { + "JDKVersion": "JDK Version", + "Path": "Path" + } + }, + { + "name": "jdkVersion", + "aliases": [ + "jdkVersionOption" + ], + "type": "pickList", + "label": "ms-resource:loc.input.label.jdkVersion", + "required": false, + "groupName": "advanced", + "defaultValue": "default", + "helpMarkDown": "ms-resource:loc.input.help.jdkVersion", + "visibleRule": "javaHomeSelection = JDKVersion", + "options": { + "default": "default", + "1.11": "JDK 11", + "1.10": "JDK 10 (out of support)", + "1.9": "JDK 9 (out of support)", + "1.8": "JDK 8", + "1.7": "JDK 7", + "1.6": "JDK 6 (out of support)" + } + }, + { + "name": "jdkUserInputPath", + "aliases": [ + "jdkUserInputDirectory" + ], + "type": "string", + "label": "ms-resource:loc.input.label.jdkUserInputPath", + "required": true, + "groupName": "advanced", + "defaultValue": "", + "helpMarkDown": "ms-resource:loc.input.help.jdkUserInputPath", + "visibleRule": "javaHomeSelection = Path" + }, + { + "name": "jdkArchitecture", + "aliases": [ + "jdkArchitectureOption" + ], + "type": "pickList", + "label": "ms-resource:loc.input.label.jdkArchitecture", + "defaultValue": "x64", + "required": false, + "helpMarkDown": "ms-resource:loc.input.help.jdkArchitecture", + "visibleRule": "jdkVersion != default", + "groupName": "advanced", + "options": { + "x86": "x86", + "x64": "x64" + } + } + ], + "execution": { + "Node10": { + "target": "anttask.js", + "argumentFormat": "" + }, + "Node16": { + "target": "anttask.js", + "argumentFormat": "" + } + }, + "messages": { + "LocateJVMBasedOnVersionAndArch": "ms-resource:loc.messages.LocateJVMBasedOnVersionAndArch", + "UnsupportedJdkWarning": "ms-resource:loc.messages.UnsupportedJdkWarning", + "FailedToLocateSpecifiedJVM": "ms-resource:loc.messages.FailedToLocateSpecifiedJVM", + "NoTestResults": "ms-resource:loc.messages.NoTestResults" + } +} \ No newline at end of file diff --git a/Tasks/ANTV2/tsconfig.json b/Tasks/ANTV2/tsconfig.json new file mode 100644 index 000000000000..79a868c8d1e3 --- /dev/null +++ b/Tasks/ANTV2/tsconfig.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "target": "ES6", + "module": "commonjs" + }, + "exclude": [ + "node_modules" + ] +} \ No newline at end of file diff --git a/_generated/ANTV2.versionmap.txt b/_generated/ANTV2.versionmap.txt new file mode 100644 index 000000000000..33268227f75c --- /dev/null +++ b/_generated/ANTV2.versionmap.txt @@ -0,0 +1,2 @@ +Default|2.248.0 +Node20-225|2.249.0 diff --git a/_generated/ANTV2_Node20/.npmrc b/_generated/ANTV2_Node20/.npmrc new file mode 100644 index 000000000000..5fca0d518be7 --- /dev/null +++ b/_generated/ANTV2_Node20/.npmrc @@ -0,0 +1 @@ +scripts-prepend-node-path=true diff --git a/_generated/ANTV2_Node20/README.md b/_generated/ANTV2_Node20/README.md new file mode 100644 index 000000000000..8063be7bb416 --- /dev/null +++ b/_generated/ANTV2_Node20/README.md @@ -0,0 +1,31 @@ +# Build your code using Ant in Azure Pipelines + +### Parameters for Ant build task are explained below + +- **Ant Build File :** This is a Required field. Provide relative path from the repository root to the Ant build file. To know more [click here](https://ant.apache.org/manual/using.html#buildfile) + +- **Options :** Provide any options to pass to the Ant command line. You can provide your own properties (for example, `-DmyProperty=myPropertyValue`) and also use built-in variables (for example, `-DcollectionId=$(system.collectionId)`). Alternatively, the built-in variables are already set as environment variables during the build and can be passed directly (for example, `-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%)` To know more [click here](https://ant.apache.org/manual/running.html#options) + +- **Target(s) :** Provide The task(s) for Ant to execute for this build. To know more [click here](https://ant.apache.org/manual/targets.html#targets) + +#### JUnit Test Results +Use the next three options to manage your JUnit test results in Azure Pipelines + +- **Publish to Azure Pipelines/TFS :** Select this option to publish JUnit Test results produced by the Ant build to Azure Pipelines/TFS. Each test result file matching `Test Results Files` will be published as a test run in Azure Pipelines. + +- **Test Results Files :** This option will appear if you select the above option. Here, provide Test results files path. Wildcards can be used. For example, `**/TEST-*.xml` for all xml files whose name starts with `TEST-."` + +- **Test Run Title :** This option will appear if you select the `Publish to Azure Pipelines/TFS` option. Here provide a name for the Test Run + +#### Advanced +Use the next options to manage your `ANT_HOME` and `JAVA_HOME` attributes + +- **Set ANT_HOME Path :** If set, overrides any existing `ANT_HOME` environment variable with the given path. + +- **Set JAVA_HOME by :** Select to set `JAVA_HOME` either by providing a path or let Azure Pipelines set the `JAVA_HOME` based on JDK version choosen. By default it is set to `JDK Version` + +- **JDK Version/Path :** Here provide the PATH to `JAVA_HOME` if you want to set it by path or select the appropriate JDK version. + +- **JDK Architecture :** Select the approriate JDK Architecture. By default it is set to `x86` + +**We are discontinuing the support of automated Code Coverage report generation for Ant projects starting Sprint 107 deployment of Azure Pipelines and for Team Foundation Server “15”. Please enable Code Coverage in your Ant build.xml file manually.** diff --git a/_generated/ANTV2_Node20/Strings/resources.resjson/de-DE/resources.resjson b/_generated/ANTV2_Node20/Strings/resources.resjson/de-DE/resources.resjson new file mode 100644 index 000000000000..f26827b74c49 --- /dev/null +++ b/_generated/ANTV2_Node20/Strings/resources.resjson/de-DE/resources.resjson @@ -0,0 +1,34 @@ +{ + "loc.friendlyName": "Ant", + "loc.helpMarkDown": "[Weitere Informationen zu dieser Aufgabe](https://go.microsoft.com/fwlink/?LinkID=613718) oder [Ant-Dokumentation anzeigen](http://ant.apache.org/)", + "loc.description": "Mit Apache Ant erstellen", + "loc.instanceNameFormat": "Ant $(options) $(antBuildFile)", + "loc.group.displayName.junitTestResults": "JUnit-Testergebnisse", + "loc.group.displayName.advanced": "Erweitert", + "loc.input.label.antBuildFile": "Ant-Builddatei", + "loc.input.help.antBuildFile": "Der relative Pfad vom Repositorystamm zur Ant-Builddatei.", + "loc.input.label.options": "Optionen", + "loc.input.help.options": "Geben Sie die Optionen an, die an die Ant-Befehlszeile übergeben werden sollen. Sie können Ihre eigenen Eigenschaften angeben (z. B. \"***-DmyProperty=meinEigenschaftenWert***\") und auch integrierte Variablen verwenden (z. B. \"***-DcollectionId=$(system.collectionId)***\"). Alternativ werden die integrierten Variablen bereits als Umgebungsvariablen während des Builds festgelegt und können direkt übergeben werden (z. B. \"***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***\").", + "loc.input.label.targets": "Ziel(e)", + "loc.input.help.targets": "Eine optionale, durch Leerzeichen getrennte Liste der zu erstellenden Ziele. Wenn keine Angabe erfolgt, wird das \"Standardziel\" verwendet. Wenn kein \"Standardziel\" definiert ist, wird Ant 1.6.0 verwendet, und alle Tasks auf oberster Ebene werden später erstellt.", + "loc.input.label.publishJUnitResults": "In Azure Pipelines veröffentlichen", + "loc.input.help.publishJUnitResults": "Wählen Sie diese Option aus, um vom Ant-Build generierte JUnit-Testergebnisse in Azure Pipelines zu veröffentlichen. Jede Testergebnisdatei, die mit \"Testergebnisdateien\" übereinstimmt, wird als Testlauf in Azure Pipelines veröffentlicht.", + "loc.input.label.testResultsFiles": "Testergebnisdateien", + "loc.input.help.testResultsFiles": "Pfad der Testergebnisdateien. Platzhalter können verwendet werden ([weitere Informationen](https://go.microsoft.com/fwlink/?linkid=856077)). Beispiel: \"**/TEST-*.xml\" für alle XML-Dateien, deren Name mit \"TEST-\" beginnt.", + "loc.input.label.testRunTitle": "Testlauftitel", + "loc.input.help.testRunTitle": "Geben Sie einen Namen für den Testlauf an.", + "loc.input.label.antHomeUserInputPath": "ANT_HOME-Pfad festlegen", + "loc.input.help.antHomeUserInputPath": "Wenn festgelegt, werden alle vorhandenen ANT_HOME-Umgebungsvariablen mit dem angegebenen Pfad überschrieben.", + "loc.input.label.javaHomeSelection": "JAVA_HOME festlegen durch", + "loc.input.help.javaHomeSelection": "Legt JAVA_HOME durch Auswählen einer JDK-Version fest, die während der Erstellung von Builds oder durch manuelles Eingeben eines JDK-Pfads ermittelt wird.", + "loc.input.label.jdkVersion": "JDK-Version", + "loc.input.help.jdkVersion": "Versucht, den Pfad zur ausgewählten JDK-Version zu ermitteln und JAVA_HOME entsprechend festzulegen.", + "loc.input.label.jdkUserInputPath": "JDK-Pfad", + "loc.input.help.jdkUserInputPath": "Legt JAVA_HOME auf den angegebenen Pfad fest.", + "loc.input.label.jdkArchitecture": "JDK-Architektur", + "loc.input.help.jdkArchitecture": "Geben Sie optional die JDK-Architektur an (x86, x64).", + "loc.messages.LocateJVMBasedOnVersionAndArch": "JAVA_HOME für Java %s %s finden", + "loc.messages.UnsupportedJdkWarning": "JDK 9 und JDK 10 werden nicht unterstützt. Wechseln Sie in Ihrem Projekt und Ihrer Pipeline zu einer neueren Version. Es wird versucht, die Erstellung mit JDK 11 durchzuführen...", + "loc.messages.FailedToLocateSpecifiedJVM": "Die angegebene JDK-Version wurde nicht gefunden. Stellen Sie sicher, dass die angegebene JDK-Version auf dem Agent installiert und die Umgebungsvariable \"%s\" vorhanden und auf den Speicherort eines entsprechenden JDK festgelegt ist. Sie können auch die Aufgabe [Installer für Java-Tools](https://go.microsoft.com/fwlink/?linkid=875287) verwenden, um das gewünschte JDK zu installieren.", + "loc.messages.NoTestResults": "Es wurden keine Testergebnisdateien gefunden, die mit %s übereinstimmen. Das Veröffentlichen von JUnit-Testergebnissen wird daher übersprungen." +} \ No newline at end of file diff --git a/_generated/ANTV2_Node20/Strings/resources.resjson/en-US/resources.resjson b/_generated/ANTV2_Node20/Strings/resources.resjson/en-US/resources.resjson new file mode 100644 index 000000000000..7caa66c58dcd --- /dev/null +++ b/_generated/ANTV2_Node20/Strings/resources.resjson/en-US/resources.resjson @@ -0,0 +1,34 @@ +{ + "loc.friendlyName": "Ant", + "loc.helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613718) or [see the Ant documentation](http://ant.apache.org/)", + "loc.description": "Build with Apache Ant", + "loc.instanceNameFormat": "Ant $(options) $(antBuildFile)", + "loc.group.displayName.junitTestResults": "JUnit Test Results", + "loc.group.displayName.advanced": "Advanced", + "loc.input.label.antBuildFile": "Ant build file", + "loc.input.help.antBuildFile": "Relative path from the repository root to the Ant build file.", + "loc.input.label.options": "Options", + "loc.input.help.options": "Provide any options to pass to the Ant command line. You can provide your own properties (for example, ***-DmyProperty=myPropertyValue***) and also use built-in variables (for example, ***-DcollectionId=$(system.collectionId)***). Alternatively, the built-in variables are already set as environment variables during the build and can be passed directly (for example, ***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***).", + "loc.input.label.targets": "Target(s)", + "loc.input.help.targets": "An optional, space-separated list of targets to build. If not specified, the `default` target will be used. If no `default` target is defined, Ant 1.6.0 and later will build all top-level tasks.", + "loc.input.label.publishJUnitResults": "Publish to Azure Pipelines", + "loc.input.help.publishJUnitResults": "Select this option to publish JUnit test results produced by the Ant build to Azure Pipelines. Each test results file matching `Test Results Files` will be published as a test run in Azure Pipelines.", + "loc.input.label.testResultsFiles": "Test results files", + "loc.input.help.testResultsFiles": "Test results files path. Wildcards can be used ([more information](https://go.microsoft.com/fwlink/?linkid=856077)). For example, `**/TEST-*.xml` for all XML files whose name starts with TEST-.", + "loc.input.label.testRunTitle": "Test run title", + "loc.input.help.testRunTitle": "Provide a name for the test run.", + "loc.input.label.antHomeUserInputPath": "Set ANT_HOME path", + "loc.input.help.antHomeUserInputPath": "If set, overrides any existing ANT_HOME environment variable with the given path.", + "loc.input.label.javaHomeSelection": "Set JAVA_HOME by", + "loc.input.help.javaHomeSelection": "Sets JAVA_HOME either by selecting a JDK version that will be discovered during builds or by manually entering a JDK path.", + "loc.input.label.jdkVersion": "JDK version", + "loc.input.help.jdkVersion": "Will attempt to discover the path to the selected JDK version and set JAVA_HOME accordingly.", + "loc.input.label.jdkUserInputPath": "JDK path", + "loc.input.help.jdkUserInputPath": "Sets JAVA_HOME to the given path.", + "loc.input.label.jdkArchitecture": "JDK architecture", + "loc.input.help.jdkArchitecture": "Optionally supply the architecture (x86, x64) of the JDK.", + "loc.messages.LocateJVMBasedOnVersionAndArch": "Locate JAVA_HOME for Java %s %s", + "loc.messages.UnsupportedJdkWarning": "JDK 9 and JDK 10 are out of support. Please switch to a later version in your project and pipeline. Attempting to build with JDK 11...", + "loc.messages.FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", + "loc.messages.NoTestResults": "No test result files matching %s were found, so publishing JUnit test results is being skipped." +} \ No newline at end of file diff --git a/_generated/ANTV2_Node20/Strings/resources.resjson/es-ES/resources.resjson b/_generated/ANTV2_Node20/Strings/resources.resjson/es-ES/resources.resjson new file mode 100644 index 000000000000..f0a1c045154d --- /dev/null +++ b/_generated/ANTV2_Node20/Strings/resources.resjson/es-ES/resources.resjson @@ -0,0 +1,34 @@ +{ + "loc.friendlyName": "Ant", + "loc.helpMarkDown": "[Obtener más información acerca de esta tarea](https://go.microsoft.com/fwlink/?LinkID=613718) o [consultar la documentación de Ant](http://ant.apache.org/)", + "loc.description": "Compilar con Apache Ant", + "loc.instanceNameFormat": "Ant $(options) $(antBuildFile)", + "loc.group.displayName.junitTestResults": "Resultados de pruebas JUnit", + "loc.group.displayName.advanced": "Avanzado", + "loc.input.label.antBuildFile": "Archivo de compilación de Ant", + "loc.input.help.antBuildFile": "Ruta de acceso relativa de la raíz del repositorio al archivo de compilación de Ant.", + "loc.input.label.options": "Opciones", + "loc.input.help.options": "Proporcione las opciones que se van a pasar a la línea de comandos de Ant. Puede proporcionar sus propiedades (por ejemplo, ***-DmyProperty=myPropertyValue***) y también usar variables integradas (por ejemplo, ***-DcollectionId=$(system.collectionId)***). Puede que las variables integradas ya se hayan establecido como variables de entorno durante la compilación y se puedan pasar directamente (por ejemplo, ***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***).", + "loc.input.label.targets": "Destinos", + "loc.input.help.targets": "Una lista opcional y separada por espacios de los destinos que se van a compilar. Si no se especifica, se usará el destino \"predeterminado\". Si no se define ningún destino \"predeterminado\", Ant 1.6.0 y las versiones posteriores compilarán todas las tareas de nivel superior.", + "loc.input.label.publishJUnitResults": "Publicar en Azure Pipelines", + "loc.input.help.publishJUnitResults": "Seleccione esta opción para publicar los resultados de pruebas JUnit generados por la compilación de Ant en Azure Pipelines. Cada archivo de resultados de pruebas que coincida con \"Archivos de resultados de pruebas\" se publicará como una serie de pruebas en Azure Pipelines.", + "loc.input.label.testResultsFiles": "Archivos de resultados de pruebas", + "loc.input.help.testResultsFiles": "Ruta de acceso de los archivos de resultados de pruebas. Puede usar caracteres comodín ([más información](https://go.microsoft.com/fwlink/?linkid=856077)). Por ejemplo, \"**\\*TEST-*.xml\" para todos los archivos XML cuyos nombres empiecen por TEST-.", + "loc.input.label.testRunTitle": "Título de la serie de pruebas", + "loc.input.help.testRunTitle": "Asigne un nombre a la serie de pruebas.", + "loc.input.label.antHomeUserInputPath": "Establecer la ruta ANT_HOME", + "loc.input.help.antHomeUserInputPath": "Si se establece, reemplaza cualquier variable de entorno ANT_HOME existente por la ruta de acceso dada.", + "loc.input.label.javaHomeSelection": "Establecer JAVA_HOME por", + "loc.input.help.javaHomeSelection": "Establece JAVA_HOME seleccionando una versión de JDK que se detectará durante las compilaciones o especificando manualmente una ruta de acceso del JDK.", + "loc.input.label.jdkVersion": "Versión de JDK", + "loc.input.help.jdkVersion": "Se tratará de hallar la ruta de acceso a la versión de JDK seleccionada y establecer JAVA_HOME según sea el caso.", + "loc.input.label.jdkUserInputPath": "Ruta de acceso de JDK", + "loc.input.help.jdkUserInputPath": "Establece JAVA_HOME en la ruta de acceso especificada.", + "loc.input.label.jdkArchitecture": "Arquitectura JDK", + "loc.input.help.jdkArchitecture": "Indique opcionalmente la arquitectura (x86, x64) del JDK.", + "loc.messages.LocateJVMBasedOnVersionAndArch": "Buscar JAVA_HOME para Java %s %s", + "loc.messages.UnsupportedJdkWarning": "JDK 9 y JDK 10 no tienen soporte técnico. Cambie a una versión posterior del proyecto y la canalización. Intentando compilar con JDK 11...", + "loc.messages.FailedToLocateSpecifiedJVM": "No se encontró la versión de JDK especificada. Asegúrese de que dicha versión está instalada en el agente y de que la variable de entorno \"%s\" existe y está establecida en la ubicación de un JDK correspondiente. En caso contrario, use la tarea de [Instalador de herramientas de Java](https://go.microsoft.com/fwlink/?linkid=875287) para instalar el JDK deseado.", + "loc.messages.NoTestResults": "No se encontraron archivos de resultados de pruebas que coincidan con %s, por lo que se omite la publicación de los resultados de las pruebas JUnit." +} \ No newline at end of file diff --git a/_generated/ANTV2_Node20/Strings/resources.resjson/fr-FR/resources.resjson b/_generated/ANTV2_Node20/Strings/resources.resjson/fr-FR/resources.resjson new file mode 100644 index 000000000000..bfb2573b6acf --- /dev/null +++ b/_generated/ANTV2_Node20/Strings/resources.resjson/fr-FR/resources.resjson @@ -0,0 +1,34 @@ +{ + "loc.friendlyName": "Ant", + "loc.helpMarkDown": "[En savoir plus sur cette tâche](https://go.microsoft.com/fwlink/?LinkID=613718) ou [consulter la documentation d'Ant](http://ant.apache.org/)", + "loc.description": "Générer avec Apache Ant", + "loc.instanceNameFormat": "Ant $(options) $(antBuildFile)", + "loc.group.displayName.junitTestResults": "Résultats du test JUnit", + "loc.group.displayName.advanced": "Avancé", + "loc.input.label.antBuildFile": "Fichier de build Ant", + "loc.input.help.antBuildFile": "Chemin relatif de la racine de dépôt au fichier de build Ant.", + "loc.input.label.options": "Options", + "loc.input.help.options": "Indiquez les options à passer à la ligne de commande Ant. Vous pouvez fournir vos propres propriétés (par exemple ***-DmyProperty=myPropertyValue***), et utiliser les variables intégrées (par exemple ***-DcollectionId=$(system.collectionId)***). Sinon, les variables intégrées sont déjà définies comme variables d'environnement durant la génération et peuvent être passées directement (par exemple ***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***).", + "loc.input.label.targets": "Cible(s)", + "loc.input.help.targets": "Liste facultative de cibles à générer, séparées par des espaces. Si rien n'est spécifié, la cible 'default' est utilisée. Si aucune cible 'default' n'est définie, Ant 1.6.0 ou ultérieur génère des tâches qui sont toutes de niveau supérieur.", + "loc.input.label.publishJUnitResults": "Publier sur Azure Pipelines", + "loc.input.help.publishJUnitResults": "Sélectionnez cette option pour publier les résultats des tests JUnit produits par la build Ant sur Azure Pipelines. Chaque fichier de résultats des tests correspondant à 'Fichiers de résultats des tests' est publié en tant que série de tests dans Azure Pipelines.", + "loc.input.label.testResultsFiles": "Fichiers de résultats des tests", + "loc.input.help.testResultsFiles": "Chemin des fichiers de résultats des tests. Les caractères génériques sont autorisés. ([Plus d'informations](https://go.microsoft.com/fwlink/?linkid=856077)). Par exemple, '**/TEST-*.xml' pour tous les fichiers XML dont le nom commence par TEST-.", + "loc.input.label.testRunTitle": "Titre de la série de tests", + "loc.input.help.testRunTitle": "Indiquez le nom de la série de tests.", + "loc.input.label.antHomeUserInputPath": "Définir le chemin de ANT_HOME", + "loc.input.help.antHomeUserInputPath": "Si elle est définie, cette valeur remplace les variables d'environnement ANT_HOME existantes par le chemin spécifié.", + "loc.input.label.javaHomeSelection": "Définir JAVA_HOME par", + "loc.input.help.javaHomeSelection": "Définit JAVA_HOME en sélectionnant une version de JDK qui sera découverte au moment des builds ou en tapant le chemin de JDK.", + "loc.input.label.jdkVersion": "Version du kit JDK", + "loc.input.help.jdkVersion": "Essaiera de découvrir le chemin d'accès à la version du JDK sélectionné et définira JAVA_HOME en conséquence.", + "loc.input.label.jdkUserInputPath": "Chemin du kit JDK", + "loc.input.help.jdkUserInputPath": "Définissez JAVA_HOME sur le chemin d'accès indiqué.", + "loc.input.label.jdkArchitecture": "Architecture du kit JDK", + "loc.input.help.jdkArchitecture": "Indiquez éventuellement l'architecture (x86, x64) du JDK.", + "loc.messages.LocateJVMBasedOnVersionAndArch": "Localiser JAVA_HOME pour Java %s %s", + "loc.messages.UnsupportedJdkWarning": "JDK 9 et JDK 10 ne sont plus pris en charge. Passez à une version plus récente de votre projet et de votre pipeline. Tentative de génération avec JDK 11...", + "loc.messages.FailedToLocateSpecifiedJVM": "Échec de la localisation de la version spécifiée du kit JDK. Vérifiez que la version spécifiée du kit JDK est installée sur l'agent, que la variable d'environnement '%s' existe et que sa valeur correspond à l'emplacement d'un kit JDK correspondant. Sinon, utilisez la tâche [Programme d'installation de l'outil Java] (https://go.microsoft.com/fwlink/?linkid=875287) pour installer le kit JDK souhaité.", + "loc.messages.NoTestResults": "Les fichiers de résultats des tests correspondant à %s sont introuvables. La publication des résultats des tests JUnit est ignorée." +} \ No newline at end of file diff --git a/_generated/ANTV2_Node20/Strings/resources.resjson/it-IT/resources.resjson b/_generated/ANTV2_Node20/Strings/resources.resjson/it-IT/resources.resjson new file mode 100644 index 000000000000..10eadb608127 --- /dev/null +++ b/_generated/ANTV2_Node20/Strings/resources.resjson/it-IT/resources.resjson @@ -0,0 +1,34 @@ +{ + "loc.friendlyName": "Ant", + "loc.helpMarkDown": "[Altre informazioni su questa attività](https://go.microsoft.com/fwlink/?LinkID=613718). In alternativa [vedere la documentazione di Ant](http://ant.apache.org/)", + "loc.description": "Consente di compilare con Apache Ant", + "loc.instanceNameFormat": "Ant $(options) $(antBuildFile)", + "loc.group.displayName.junitTestResults": "Risultati del test JUnit", + "loc.group.displayName.advanced": "Avanzate", + "loc.input.label.antBuildFile": "File di compilazione Ant", + "loc.input.help.antBuildFile": "Percorso relativo dalla radice del repository al file di compilazione Ant.", + "loc.input.label.options": "Opzioni", + "loc.input.help.options": "Consente di specificare tutte le opzioni da passare alla riga di comando di Ant. È possibile specificare proprietà personalizzate (ad esempio ***-DmyProperty=myPropertyValue***) e usare variabili predefinite (ad esempio ***-DcollectionId=$(system.collectionId)***). In alternativa, le variabili predefinite vengono già impostate come variabili di ambiente durante la compilazione e possono essere passate direttamente (ad esempio ***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***).", + "loc.input.label.targets": "Destinazione/i", + "loc.input.help.targets": "Elenco facoltativo di destinazioni per la compilazione separate da virgole. Se non viene specificato, verrà usata la destinazione `default`. Se non è definita alcuna destinazione `default`, Ant 1.6.0 o versioni successiva compilerà tutte le attività di primo livello.", + "loc.input.label.publishJUnitResults": "Pubblica in Azure Pipelines", + "loc.input.help.publishJUnitResults": "Selezionare questa opzione per pubblicare i risultati del test JUnit prodotti dalla compilazione Ant in Azure Pipelines. Ogni file dei risultati del test corrispondente al valore di `File dei risultati del test` verrà pubblicato come esecuzione dei test in Azure Pipelines.", + "loc.input.label.testResultsFiles": "File dei risultati del test", + "loc.input.help.testResultsFiles": "Percorso dei file dei risultati del test. È possibile usare i caratteri jolly, ad esempio `**/TEST-*.xml` per individuare tutti i file XML il cui nome inizia con TEST-. [Altre informazioni](https://go.microsoft.com/fwlink/?linkid=856077)", + "loc.input.label.testRunTitle": "Titolo dell'esecuzione dei test", + "loc.input.help.testRunTitle": "Consente di specificare un nome per l'esecuzione dei test.", + "loc.input.label.antHomeUserInputPath": "Imposta percorso di ANT_HOME", + "loc.input.help.antHomeUserInputPath": "Se è impostato, esegue l'override di eventuali variabili di ambiente ANT_HOME esistenti con il percorso specificato.", + "loc.input.label.javaHomeSelection": "Imposta JAVA_HOME per", + "loc.input.help.javaHomeSelection": "Consente di impostare JAVA_HOME selezionando una versione di JDK che verrà individuata durante le compilazioni oppure immettendo manualmente un percorso JDK.", + "loc.input.label.jdkVersion": "Versione del JDK", + "loc.input.help.jdkVersion": "Prova a individuare il percorso della versione selezionata di JDK e imposta JAVA_HOME di conseguenza.", + "loc.input.label.jdkUserInputPath": "Percorso del JDK", + "loc.input.help.jdkUserInputPath": "Consente di impostare JAVA_HOME sul percorso specificato.", + "loc.input.label.jdkArchitecture": "Architettura del JDK", + "loc.input.help.jdkArchitecture": "Consente facoltativamente di specificare l'architettura (x86, x64) di JDK.", + "loc.messages.LocateJVMBasedOnVersionAndArch": "Individuare JAVA_HOME per Java %s %s", + "loc.messages.UnsupportedJdkWarning": "JDK 9 e JDK 10 non sono supportati. Passare a una versione più recente nel progetto e nella pipeline. Verrà effettuato un tentativo di compilazione con JDK 11...", + "loc.messages.FailedToLocateSpecifiedJVM": "La versione del JDK specificata non è stata trovata. Assicurarsi che sia installata nell'agente e che la variabile di ambiente '%s' sia presente e impostata sul percorso di un JDK corrispondente oppure usare l'attività [Programma di installazione strumenti Java](https://go.microsoft.com/fwlink/?linkid=875287) per installare il JDK desiderato.", + "loc.messages.NoTestResults": "Non sono stati trovati file dei risultati del test corrispondenti a %s, di conseguenza la pubblicazione dei risultati del test JUnit verrà ignorata." +} \ No newline at end of file diff --git a/_generated/ANTV2_Node20/Strings/resources.resjson/ja-JP/resources.resjson b/_generated/ANTV2_Node20/Strings/resources.resjson/ja-JP/resources.resjson new file mode 100644 index 000000000000..7a08aec9a63d --- /dev/null +++ b/_generated/ANTV2_Node20/Strings/resources.resjson/ja-JP/resources.resjson @@ -0,0 +1,34 @@ +{ + "loc.friendlyName": "Ant", + "loc.helpMarkDown": "[このタスクの詳細を表示](https://go.microsoft.com/fwlink/?LinkID=613718)、または [Ant のドキュメントを参照](http://ant.apache.org/)", + "loc.description": "Apache Ant を使用してビルドします", + "loc.instanceNameFormat": "Ant $(options) $(antBuildFile)", + "loc.group.displayName.junitTestResults": "JUnit のテスト結果", + "loc.group.displayName.advanced": "詳細設定", + "loc.input.label.antBuildFile": "Ant ビルド ファイル", + "loc.input.help.antBuildFile": "リポジトリのルートから Ant のビルド ファイルへの相対パス。", + "loc.input.label.options": "オプション", + "loc.input.help.options": "Ant コマンド ラインに渡すオプションを指定します。独自のプロパティ (たとえば、***-DmyProperty=myPropertyValue***) を指定することも、ビルトイン変数 (たとえば、***-DcollectionId=$(system.collectionId)***) を使用することもできます。あるいは、ビルトイン変数はビルド中は既に環境変数として設定されているため、直接渡すことができます (たとえば、***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***)。", + "loc.input.label.targets": "ターゲット", + "loc.input.help.targets": "作成するターゲットのオプションのスペース区切り一覧。指定しない場合、`既定` のターゲットが使用されます。`既定` のターゲットが定義されていない場合は、Ant 1.6.0 以降で最上位レベルのすべてのタスクが作成されます。", + "loc.input.label.publishJUnitResults": "Azure Pipelines に公開する", + "loc.input.help.publishJUnitResults": "Ant のビルドによって生成された JUnit のテスト結果を Azure Pipelines に公開するには、このオプションを選びます。'テスト結果ファイル' と一致する各テスト結果ファイルが、Azure Pipelines でテストの実行として公開されます。", + "loc.input.label.testResultsFiles": "テスト結果ファイル", + "loc.input.help.testResultsFiles": "テスト結果ファイルのパス。ワイルドカードを使用できます ([詳細情報](https://go.microsoft.com/fwlink/?linkid=856077))。たとえば、名前が TEST- で始まるすべての XML ファイルの場合は '**/TEST-*.xml' です。", + "loc.input.label.testRunTitle": "テストの実行のタイトル", + "loc.input.help.testRunTitle": "テストの実行の名前を指定します。", + "loc.input.label.antHomeUserInputPath": "ANT_HOME パスの設定", + "loc.input.help.antHomeUserInputPath": "設定されると、指定したパスの既存のあらゆる ANT_HOME 環境変数をオーバーライドします。", + "loc.input.label.javaHomeSelection": "次の条件で JAVA_HOME を設定します", + "loc.input.help.javaHomeSelection": "ビルド中に検出される JDK バージョンを選択するか、JDK パスを手動で入力して JAVA_HOME を設定します。", + "loc.input.label.jdkVersion": "JDK バージョン", + "loc.input.help.jdkVersion": "選択した JDK のバージョンへのパスの検出を試みて、それに従って JAVA_HOME を設定します。", + "loc.input.label.jdkUserInputPath": "JDK パス", + "loc.input.help.jdkUserInputPath": "指定したパスに JAVA_HOME を設定します。", + "loc.input.label.jdkArchitecture": "JDK アーキテクチャ", + "loc.input.help.jdkArchitecture": "(省略可能) JDK のアーキテクチャ (x86、x64) を指定します。", + "loc.messages.LocateJVMBasedOnVersionAndArch": "Java %s %s の JAVA_HOME を検索する", + "loc.messages.UnsupportedJdkWarning": "JDK 9 および JDK 10 はサポートされていません。プロジェクトとパイプラインで新しいバージョンに切り替えてください。JDK 11 でのビルドを試行しています...", + "loc.messages.FailedToLocateSpecifiedJVM": "指定された JDK バージョンが見つかりませんでした。指定された JDK バージョンがエージェントにインストールされており、環境変数 '%s' が存在し、対応する JDK の場所に設定されていることを確認するか、[Java ツール インストーラー](https://go.microsoft.com/fwlink/?linkid=875287) タスクを使用して目的の JDK をインストールしてください。", + "loc.messages.NoTestResults": "%s と一致するテスト結果ファイルが見つからないため、JUnit テスト結果の発行をスキップします。" +} \ No newline at end of file diff --git a/_generated/ANTV2_Node20/Strings/resources.resjson/ko-KR/resources.resjson b/_generated/ANTV2_Node20/Strings/resources.resjson/ko-KR/resources.resjson new file mode 100644 index 000000000000..33dfbe7d398c --- /dev/null +++ b/_generated/ANTV2_Node20/Strings/resources.resjson/ko-KR/resources.resjson @@ -0,0 +1,34 @@ +{ + "loc.friendlyName": "Ant", + "loc.helpMarkDown": "[이 작업에 대한 자세한 정보](https://go.microsoft.com/fwlink/?LinkID=613718) 또는 [Ant 설명서 참조](http://ant.apache.org/)", + "loc.description": "Apache Ant로 빌드", + "loc.instanceNameFormat": "Ant $(options) $(antBuildFile)", + "loc.group.displayName.junitTestResults": "JUnit 테스트 결과", + "loc.group.displayName.advanced": "고급", + "loc.input.label.antBuildFile": "Ant 빌드 파일", + "loc.input.help.antBuildFile": "Ant 빌드 파일의 리포지토리 루트로부터의 상대 경로입니다.", + "loc.input.label.options": "옵션", + "loc.input.help.options": "Ant 명령줄에 전달할 옵션을 지정하세요. 고유한 속성을 지정할 수도 있고(예: ***-DmyProperty=myPropertyValue***) 기본 제공 변수를 사용할 수도 있습니다(예: ***-DcollectionId=$(system.collectionId)***). 또는 기본 제공 변수가 빌드 중 이미 환경 변수로 설정되어 직접 전달될 수도 있습니다(예: ***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***).", + "loc.input.label.targets": "대상", + "loc.input.help.targets": "빌드할 대상의 공백으로 구분된 목록입니다(선택 사항). 지정되지 않은 경우 `기본` 대상이 사용됩니다. `기본` 대상이 정의되지 않은 경우 Ant 1.6.0 이상에서 모든 최상위 작업을 빌드합니다.", + "loc.input.label.publishJUnitResults": "Azure Pipelines/에 게시", + "loc.input.help.publishJUnitResults": "Ant 빌드에서 생성된 JUnit 테스트 결과를 Azure Pipelines에 게시하려면 이 옵션을 선택합니다. '테스트 결과 파일'과 일치하는 각 테스트 결과 파일이 Azure Pipelines에 테스트 실행으로 게시됩니다.", + "loc.input.label.testResultsFiles": "테스트 결과 파일", + "loc.input.help.testResultsFiles": "테스트 결과 파일 경로입니다. 와일드카드를 사용할 수 있습니다([자세한 정보](https://go.microsoft.com/fwlink/?linkid=856077)). 예를 들어 이름이 TEST-로 시작하는 모든 XML 파일을 표시하려면 '**/TEST-*.xml'을 지정합니다.", + "loc.input.label.testRunTitle": "테스트 실행 제목", + "loc.input.help.testRunTitle": "테스트 실행의 이름을 지정하세요.", + "loc.input.label.antHomeUserInputPath": "ANT_HOME 경로 설정", + "loc.input.help.antHomeUserInputPath": "설정하는 경우 기존 ANT_HOME 환경 변수를 지정된 경로로 재정의합니다.", + "loc.input.label.javaHomeSelection": "JAVA_HOME 설정 방법", + "loc.input.help.javaHomeSelection": "빌드 중에 검색될 JDK 버전을 선택하거나 수동으로 JDK 경로를 입력하여 JAVA_HOME을 설정합니다.", + "loc.input.label.jdkVersion": "JDK 버전", + "loc.input.help.jdkVersion": "선택한 JDK 버전의 경로에 대한 검색을 시도하고 그에 따라 JAVA_HOME을 설정하게 됩니다.", + "loc.input.label.jdkUserInputPath": "JDK 경로", + "loc.input.help.jdkUserInputPath": "JAVA_HOME을 지정된 경로로 설정합니다.", + "loc.input.label.jdkArchitecture": "JDK 아키텍처", + "loc.input.help.jdkArchitecture": "선택적으로 JDK의 아키텍처(x86, x64)를 제공하세요.", + "loc.messages.LocateJVMBasedOnVersionAndArch": "Java %s %s에 대해 JAVA_HOME 찾기", + "loc.messages.UnsupportedJdkWarning": "JDK 9 및 JDK 10은 지원되지 않습니다. 프로젝트 및 파이프라인에서 최신 버전으로 전환하세요. JDK 11을 사용하여 빌드를 시도하는 중...", + "loc.messages.FailedToLocateSpecifiedJVM": "지정한 JDK 버전을 찾지 못했습니다. 지정한 JDK 버전이 에이전트에 설치되어 있으며 환경 변수 '%s'이(가) 있고 해당 JDK의 위치로 설정되었는지 확인하거나, [Java 도구 설치 관리자](https://go.microsoft.com/fwlink/?linkid=875287) 작업을 사용하여 원하는 JDK를 설치하세요.", + "loc.messages.NoTestResults": "%s과(와) 일치하는 테스트 결과 파일을 찾을 수 없으므로 JUnit 테스트 결과 게시를 건너뜁니다." +} \ No newline at end of file diff --git a/_generated/ANTV2_Node20/Strings/resources.resjson/ru-RU/resources.resjson b/_generated/ANTV2_Node20/Strings/resources.resjson/ru-RU/resources.resjson new file mode 100644 index 000000000000..913c95895aac --- /dev/null +++ b/_generated/ANTV2_Node20/Strings/resources.resjson/ru-RU/resources.resjson @@ -0,0 +1,34 @@ +{ + "loc.friendlyName": "Ant", + "loc.helpMarkDown": "[См. дополнительные сведения об этой задаче](https://go.microsoft.com/fwlink/?LinkID=613718) или [документацию по Ant](http://ant.apache.org/)", + "loc.description": "Сборка с помощью Apache Ant", + "loc.instanceNameFormat": "Ant $(options) $(antBuildFile)", + "loc.group.displayName.junitTestResults": "Результаты теста JUnit", + "loc.group.displayName.advanced": "Дополнительно", + "loc.input.label.antBuildFile": "Файл сборки Ant", + "loc.input.help.antBuildFile": "Относительный путь от корня репозитория к файлу сборки Ant.", + "loc.input.label.options": "Параметры", + "loc.input.help.options": "Укажите параметры для передачи в командную строку Ant. Вы можете указать собственные свойства (например, ***-DmyProperty=myPropertyValue***), а также использовать встроенные переменные (например, ***-DcollectionId=$(system.collectionId)***). Кроме того, встроенные переменные уже заданы в качестве переменных среды во время сборки и могут быть переданы напрямую (например, ***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***).", + "loc.input.label.targets": "Платформы", + "loc.input.help.targets": "Необязательный список целевых объектов сборки с разделителями-пробелами. Если он не задан, будет использоваться целевой объект по умолчанию. Если целевой объект по умолчанию не определен, в Ant 1.6.0 и более поздних версиях будет выполнена сборка всех задач верхнего уровня.", + "loc.input.label.publishJUnitResults": "Опубликовать в Azure Pipelines", + "loc.input.help.publishJUnitResults": "Выберите этот параметр, чтобы опубликовать результаты теста JUnit, созданные сборкой Ant, в Azure Pipelines. Каждый файл результатов теста, соответствующий запросу \"Файлы результатов тестов\", будет опубликован как тестовый запуск в Azure Pipelines.", + "loc.input.label.testResultsFiles": "Файлы результатов теста", + "loc.input.help.testResultsFiles": "Путь к файлам результатов тестов. Можно использовать подстановочные знаки ([дополнительные сведения](https://go.microsoft.com/fwlink/?linkid=856077)). Пример: \"**/TEST-*.xml\" для всех XML-файлов, имена которых начинаются с \"TEST-\".", + "loc.input.label.testRunTitle": "Название тестового запуска", + "loc.input.help.testRunTitle": "Укажите имя для тестового запуска.", + "loc.input.label.antHomeUserInputPath": "Задать путь ANT_HOME", + "loc.input.help.antHomeUserInputPath": "Если этот параметр задан, переопределяет любую существующую переменную среды ANT_HOME заданным путем.", + "loc.input.label.javaHomeSelection": "Установка JAVA_HOME с помощью", + "loc.input.help.javaHomeSelection": "Задается JAVA_HOME указанием версии JDK, которая будет обнаруживаться во время сборок, или указанием пути к JDK вручную.", + "loc.input.label.jdkVersion": "Версия JDK", + "loc.input.help.jdkVersion": "Пытается определить путь к выбранной версии JDK и установить переменную JAVA_HOME соответствующим образом.", + "loc.input.label.jdkUserInputPath": "Путь к JDK", + "loc.input.help.jdkUserInputPath": "Установка для JAVA_HOME определенного пути.", + "loc.input.label.jdkArchitecture": "Архитектура JDK", + "loc.input.help.jdkArchitecture": "Дополнительно укажите архитектуру JDK (x86, x64).", + "loc.messages.LocateJVMBasedOnVersionAndArch": "Найдите JAVA_HOME для Java %s %s", + "loc.messages.UnsupportedJdkWarning": "Поддержка JDK 9 и JDK 10 прекращена. Переключитесь на более позднюю версию в проекте и конвейере. Выполняется попытка сборки с помощью JDK 11...", + "loc.messages.FailedToLocateSpecifiedJVM": "Не удалось найти указанную версию JDK. Убедитесь в том, что указанная версия JDK установлена в агенте и что переменная среды \"%s\" существует и ее значением является расположение соответствующего пакета JDK, или используйте [установщик средств Java] (https://go.microsoft.com/fwlink/?linkid=875287), чтобы установить требуемую версию JDK.", + "loc.messages.NoTestResults": "Не найдены файлы результатов теста, соответствующие \"%s\". Публикация результатов теста JUnit пропускается." +} \ No newline at end of file diff --git a/_generated/ANTV2_Node20/Strings/resources.resjson/zh-CN/resources.resjson b/_generated/ANTV2_Node20/Strings/resources.resjson/zh-CN/resources.resjson new file mode 100644 index 000000000000..76c06ee08442 --- /dev/null +++ b/_generated/ANTV2_Node20/Strings/resources.resjson/zh-CN/resources.resjson @@ -0,0 +1,34 @@ +{ + "loc.friendlyName": "Ant", + "loc.helpMarkDown": "[详细了解此任务](https://go.microsoft.com/fwlink/?LinkID=613718)或[参阅 Ant 文档](http://ant.apache.org/)", + "loc.description": "使用 Apache Ant 生成", + "loc.instanceNameFormat": "Ant $(options) $(antBuildFile)", + "loc.group.displayName.junitTestResults": "JUnit 测试结果", + "loc.group.displayName.advanced": "高级", + "loc.input.label.antBuildFile": "Ant 生成文件", + "loc.input.help.antBuildFile": "从存储库根路径到“Ant 生成文件”的相对路径。", + "loc.input.label.options": "选项", + "loc.input.help.options": "提供要传递到 Ant 命令行的任意选项。可以提供自己的属性(例如,***-DmyProperty=myPropertyValue***),也可使用内置变量(例如,**-DcollectionId=$(system.collectionId)***)。或者,已在生成过程中将内置变量设置为环境变量,且可直接传递(例如,***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***)。", + "loc.input.label.targets": "对象", + "loc.input.help.targets": "要生成的可选目标列表,以空格分隔。如果未指定,将使用“默认”目标。如果未定义“默认”目标,则 Ant 1.6.0 和更高版本将生成所有顶级任务。", + "loc.input.label.publishJUnitResults": "发布到 Azure Pipelines", + "loc.input.help.publishJUnitResults": "选择此选项可将 Ant 生成产生的 JUnit 测试结果发布到 Azure Pipelines。每个与 `Test Results Files` 匹配的测试结果文件都会在 Azure Pipelines 中发布为测试运行。", + "loc.input.label.testResultsFiles": "测试结果文件", + "loc.input.help.testResultsFiles": "测试结果文件路径。可以使用通配符([详细信息](https://go.microsoft.com/fwlink/?linkid=856077))。例如,\"**/TEST-*.xml\" 表示名称以 TEST- 开头的所有 xml 文件。", + "loc.input.label.testRunTitle": "测试运行标题", + "loc.input.help.testRunTitle": "为测试运行提供一个名称。", + "loc.input.label.antHomeUserInputPath": "设置 ANT_HOME 路径", + "loc.input.help.antHomeUserInputPath": "如已设置,将用给定路径覆盖任何现有 ANT_HOME 环境变量。", + "loc.input.label.javaHomeSelection": "JAVA_HOME 设置方法", + "loc.input.help.javaHomeSelection": "可通过选择将在生成期间发现的 JDK 版本或手动输入 JDK 路径来设置 JAVA_HOME。", + "loc.input.label.jdkVersion": "JDK 版本", + "loc.input.help.jdkVersion": "将尝试发现所选 JDK 版本的路径并相应地设置 JAVA_HOME。", + "loc.input.label.jdkUserInputPath": "JDK 路径", + "loc.input.help.jdkUserInputPath": "将 JAVA_HOME 设置到给定路径。", + "loc.input.label.jdkArchitecture": "JDK 体系结构", + "loc.input.help.jdkArchitecture": "可以选择提供 JDK 的体系结构(x86、x64)。", + "loc.messages.LocateJVMBasedOnVersionAndArch": "为 Java %s %s 查找 JAVA_HOME", + "loc.messages.UnsupportedJdkWarning": "JDK 9 和 JDK 10 不受支持。请切换到项目和管道中的更高版本。正在尝试使用 JDK 11 进行生成...", + "loc.messages.FailedToLocateSpecifiedJVM": "未能找到指定的 JDK 版本。请确保代理上安装了指定的 JDK 版本,环境变量“%s”存在并设置为对应 JDK 的位置或使用[Java 工具安装程序](https://go.microsoft.com/fwlink/?linkid=875287)任务安装所需 JDK。", + "loc.messages.NoTestResults": "未找到匹配 %s 的测试结果文件,因此将跳过发布 JUnit 测试结果。" +} \ No newline at end of file diff --git a/_generated/ANTV2_Node20/Strings/resources.resjson/zh-TW/resources.resjson b/_generated/ANTV2_Node20/Strings/resources.resjson/zh-TW/resources.resjson new file mode 100644 index 000000000000..fdf700887b06 --- /dev/null +++ b/_generated/ANTV2_Node20/Strings/resources.resjson/zh-TW/resources.resjson @@ -0,0 +1,34 @@ +{ + "loc.friendlyName": "Ant", + "loc.helpMarkDown": "[深入了解此工作](https://go.microsoft.com/fwlink/?LinkID=613718)或[參閱 Ant 文件](http://ant.apache.org/)", + "loc.description": "使用 Apache Ant 建置", + "loc.instanceNameFormat": "Ant $(options) $(antBuildFile)", + "loc.group.displayName.junitTestResults": "JUnit 測試結果", + "loc.group.displayName.advanced": "進階", + "loc.input.label.antBuildFile": "Ant 組建檔案", + "loc.input.help.antBuildFile": "從存放庫根路徑到 Ant 組建檔案的相對路徑。", + "loc.input.label.options": "選項", + "loc.input.help.options": "提供傳遞給 Ant 命令列的任何選項。您可以提供您自己的屬性 (例如 ***-DmyProperty=myPropertyValue***),並同時使用內建變數 (例如 ***-DmyProperty=myPropertyValue***)。或者,如果內建變數已在建置期間設為環境變數,則也可以直接傳遞 (例如 ***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***)。", + "loc.input.label.targets": "目標", + "loc.input.help.targets": "以空格分隔的選用清單,內含要建置的目標。若未指定,將使用 `default` 目標。如果未定義 `default` 目標,則 Ant 1.6.0 和更新版本將建置所有最上層工作。", + "loc.input.label.publishJUnitResults": "發佈至 Azure Pipelines", + "loc.input.help.publishJUnitResults": "選取此選項會將 Ant 組建所產生的 JUnit 測試結果發佈至 Azure Pipelines。每個與 `Test Results Files` 相符的測試結果檔案都將作為測試回合於 Azure Pipelines 中發佈。", + "loc.input.label.testResultsFiles": "測試結果檔案", + "loc.input.help.testResultsFiles": "測試結果檔案路徑。可使用萬用字元 ([詳細資訊](https://go.microsoft.com/fwlink/?linkid=856077))。例如 `**/TEST-*.xml` 表示名稱開頭為 TEST- 的所有 XML 檔案。", + "loc.input.label.testRunTitle": "測試回合標題", + "loc.input.help.testRunTitle": "提供測試回合的名稱。", + "loc.input.label.antHomeUserInputPath": "設定 ANT_HOME 路徑", + "loc.input.help.antHomeUserInputPath": "如有設定,將會以指定的路徑覆寫任何現有的 ANT_HOME 環境變數。", + "loc.input.label.javaHomeSelection": "設定 JAVA_HOME 由", + "loc.input.help.javaHomeSelection": "選取一個能在組建期間探索到的 JDK 版本,或者手動輸入 JDK 路徑,均能為 JAVA_HOME 進行設定。", + "loc.input.label.jdkVersion": "JDK 版本", + "loc.input.help.jdkVersion": "將嘗試探索所選取 JDK 版本的路徑並據此設定 JAVA_HOME。", + "loc.input.label.jdkUserInputPath": "JDK 路徑", + "loc.input.help.jdkUserInputPath": "將 JAVA_HOME 設定為指定路徑。", + "loc.input.label.jdkArchitecture": "JDK 架構", + "loc.input.help.jdkArchitecture": "選擇性地提供 JDK 的架構 (x86、x64)。", + "loc.messages.LocateJVMBasedOnVersionAndArch": "為 Java %s %s 找出 JAVA_HOME 的位置", + "loc.messages.UnsupportedJdkWarning": "JDK 9 與 JDK 10 已失去支援。請在您的專案和管線中切換至較新版本。正在嘗試以 JDK 11 進行建置...", + "loc.messages.FailedToLocateSpecifiedJVM": "找不到指定的 JDK 版本。請確認指定的 JDK 版本已安裝在代理程式上,且環境變數 '%s' 存在並已設定為對應 JDK 的位置,或者使用 [Java 工具安裝程式](https://go.microsoft.com/fwlink/?linkid=875287) 工作安裝所需的 JDK。", + "loc.messages.NoTestResults": "找不到任何符合 %s 的測試結果,因此跳過發行 JUnit 測試結果。" +} \ No newline at end of file diff --git a/_generated/ANTV2_Node20/Tests/.npmrc b/_generated/ANTV2_Node20/Tests/.npmrc new file mode 100644 index 000000000000..969ccea07661 --- /dev/null +++ b/_generated/ANTV2_Node20/Tests/.npmrc @@ -0,0 +1,3 @@ +registry=https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ + +always-auth=true \ No newline at end of file diff --git a/_generated/ANTV2_Node20/Tests/L0.ts b/_generated/ANTV2_Node20/Tests/L0.ts new file mode 100644 index 000000000000..12bd4e0bc63b --- /dev/null +++ b/_generated/ANTV2_Node20/Tests/L0.ts @@ -0,0 +1,154 @@ +import assert = require('assert'); +import { MockTestRunner } from 'azure-pipelines-task-lib/mock-test'; +import path = require('path'); +import os = require('os'); + +var isWindows = os.type().match(/^Win/); + +describe('ANT Suite', function () { + this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 20000); + + it('run ANT with all inputs', async () => { + const testPath = path.join(__dirname, 'L0AllInputs.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + assert(runner.ran('/usr/local/bin/ANT -version'), 'it should have run ANT -version'); + assert(runner.ran('/usr/local/bin/ANT -buildfile /build/build.xml'), 'it should have run ANT -buildfile ...'); + assert(runner.invokedToolCount == 2, 'should have only run ANT 2 times'); + assert(runner.stderr.length == 0, 'should not have written to stderr'); + assert(runner.succeeded, 'task should have succeeded'); + }) + + it('fails if missing antBuildFile input', async () => { + const testPath = path.join(__dirname, 'L0MissingAntBuildFile.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + assert(runner.invokedToolCount == 0, 'should not have run ANT'); + assert(runner.failed, 'task should have failed'); + assert(runner.stdOutContained('Input required: antBuildFile'), 'wrong error message'); + }) + + it('fails if missing javaHomeSelection input', async () => { + const testPath = path.join(__dirname, 'L0MissingJavaHomeSelection.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + assert(runner.invokedToolCount == 0, 'should not have run ANT'); + assert(runner.failed, 'task should have failed'); + assert(runner.stdOutContained('Input required: javaHomeSelection'), 'wrong error message"'); + }) + + it('fails if missing testResultsFiles input', async () => { + const testPath = path.join(__dirname, 'L0MissingTestResultsFiles.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + assert(runner.invokedToolCount == 0, 'should not have run ANT'); + assert(runner.failed, 'task should have failed'); + assert(runner.stdOutContained('Input required: testResultsFiles'), 'wrong error message:"'); + }) + + it('run ANT with antHomeUserInputPath', async () => { + const testPath = path.join(__dirname, 'L0RunWithAntHomeUserInputPath.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + assert(runner.ran('/usr/local/bin/ANT -version'), 'it should have run ANT -version'); + assert(runner.ran('/usr/local/bin/ANT -buildfile /build/build.xml'), 'it should have run ANT -buildfile ...'); + assert(runner.invokedToolCount == 2, 'should have only run ANT 2 times'); + assert(runner.stderr.length == 0, 'should not have written to stderr'); + assert(runner.succeeded, 'task should have succeeded'); + assert(runner.stdOutContained('Set ANT_HOME to /usr/local/bin/ANT2'), 'ANT_HOME not set correctly'); + }) + + it('run ANT with antHomeUserInputPath set to invalid path', async () => { + const testPath = path.join(__dirname, 'L0InvalidUserHomePath.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + assert(runner.invokedToolCount == 0, 'should not have run ANT'); + assert(runner.failed, 'task should have failed'); + assert(runner.stdOutContained('Not found /usr/local/bin/ANT_invalid'), 'Invalid path not detected'); + }) + + it('run ANT with ANT_HOME not set', async () => { + const testPath = path.join(__dirname, 'L0AntHomeNotSet.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + // The response file will cause ANT to fail, but we are looking for the warning about ANT_HOME + assert(runner.ran('/usr/local/bin/ANT -version'), 'it should have run ANT -version'); + assert(runner.invokedToolCount == 1, 'should have only run ANT once'); + assert(runner.failed, 'task should have failed'); + assert(runner.stdOutContained('The ANT_HOME environment variable is not set'), 'Missing JAVA_HOME not detected'); + }) + + it('run ANT with jdkVersion set to 1.8', async () => { + const testPath = path.join(__dirname, 'L0JDKSetTo8.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + assert(runner.ran('/usr/local/bin/ANT -version'), 'it should have run ANT -version'); + assert(runner.ran('/usr/local/bin/ANT -buildfile /build/build.xml'), 'it should have run ANT -buildfile ...'); + assert.strictEqual(runner.invokedToolCount, 2, 'should have run ANT 2 times'); + assert(runner.stderr.length == 0, 'should not have written to stderr'); + assert(runner.succeeded, 'task should have succeeded'); + assert(runner.stdOutContained('Set JAVA_HOME to /user/local/bin/ANT8'), 'JAVA_HOME not set correctly'); + }) + + it('run ANT with jdkVersion set to 1.5', async () => { + const testPath = path.join(__dirname, 'L0JDKSetTo5.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + if (isWindows) { + assert.strictEqual(runner.invokedToolCount, 1, 'should have run the reg query toolrunner'); + } else { + assert.strictEqual(runner.invokedToolCount, 0, 'should not have run tools'); + } + assert(runner.failed, 'task should have failed'); + assert(runner.stdOutContained('FailedToLocateSpecifiedJVM'), 'Should write FailedToLocateSpecifiedJVM error'); + }) + + it('run ANT valid inputs but it fails', async () => { + const testPath = path.join(__dirname, 'L0FailWithValidInputs.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + // The response file will cause ANT to fail, but we are looking for the warning about ANT_HOME + assert(runner.ran('/usr/local/bin/ANT -version'), 'it should have run ANT -version'); + assert(runner.ran('/usr/local/bin/ANT -buildfile /build/build.xml'), 'it should have run ANT -buildfile ...'); + assert(runner.invokedToolCount == 2, 'should have only run ANT 2 times'); + assert(runner.failed, 'task should have failed'); + }) + + it('Ant build with Publish Test Results.', async () => { + const testPath = path.join(__dirname, 'L0PublishTestResults.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + assert(runner.succeeded, 'The task should not have failed'); + assert(runner.stdout.search(/##vso\[results.publish type=JUnit;mergeResults=true;publishRunAttachments=true;resultFiles=\/user\/build\/fun\/test-123.xml;\]/) >= 0); + }) + + it('Ant build with Publish Test Results with no matching test result files.', async () => { + const testPath = path.join(__dirname, 'L0NoMatchingTestResults.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + assert(runner.stdout.search(/##vso\[results.publish\]/) < 0, 'publish test results should have not got called.'); + assert(runner.stderr.length == 0, 'should not have written to stderr'); + assert(runner.stdOutContained('NoTestResults'), 'should have warned about lack of test results'); + assert(runner.succeeded, 'task should have succeeded'); + }) + + it('Ant build with Publish Test Results for failed builds.', async () => { + const testPath = path.join(__dirname, 'L0FailedBuilds.js') + const runner: MockTestRunner = new MockTestRunner(testPath); + await runner.runAsync(); + + assert(runner.stdout.search(/##vso\[results.publish type=JUnit;mergeResults=true;publishRunAttachments=true;resultFiles=\/user\/build\/fun\/test-123.xml;\]/) >= 0); + }) +}); diff --git a/_generated/ANTV2_Node20/Tests/L0AllInputs.ts b/_generated/ANTV2_Node20/Tests/L0AllInputs.ts new file mode 100644 index 000000000000..10d215ac3943 --- /dev/null +++ b/_generated/ANTV2_Node20/Tests/L0AllInputs.ts @@ -0,0 +1,15 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('antBuildFile', '/build/build.xml'); // Make that checkPath returns true for this filename in the response file +runner.setInput('javaHomeSelection', 'JDKVersion'); +runner.setInput('jdkVersion', 'default'); +runner.setInput('testResultsFiles', '**/TEST-*.xml'); + +runner.setAnswers(answers.successAnswers); + +runner.run(); diff --git a/_generated/ANTV2_Node20/Tests/L0AntHomeNotSet.ts b/_generated/ANTV2_Node20/Tests/L0AntHomeNotSet.ts new file mode 100644 index 000000000000..f2927496aa4c --- /dev/null +++ b/_generated/ANTV2_Node20/Tests/L0AntHomeNotSet.ts @@ -0,0 +1,17 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('antBuildFile', '/build/build.xml'); // Make that checkPath returns true for this filename in the response file +runner.setInput('javaHomeSelection', 'JDKVersion'); +runner.setInput('jdkVersion', 'default'); +runner.setInput('testResultsFiles', '**/TEST-*.xml'); + +runner.setAnswers(answers.versionFailAnswers); + +delete process.env['ANT_HOME']; + +runner.run(); diff --git a/_generated/ANTV2_Node20/Tests/L0FailWithValidInputs.ts b/_generated/ANTV2_Node20/Tests/L0FailWithValidInputs.ts new file mode 100644 index 000000000000..9fc326d786d6 --- /dev/null +++ b/_generated/ANTV2_Node20/Tests/L0FailWithValidInputs.ts @@ -0,0 +1,15 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('antBuildFile', '/build/build.xml'); +runner.setInput('javaHomeSelection', 'JDKVersion'); +runner.setInput('jdkVersion', 'default'); +runner.setInput('testResultsFiles', '**/TEST-*.xml'); + +runner.setAnswers(answers.failAnswers); + +runner.run(); diff --git a/_generated/ANTV2_Node20/Tests/L0FailedBuilds.ts b/_generated/ANTV2_Node20/Tests/L0FailedBuilds.ts new file mode 100644 index 000000000000..4434c14f92d7 --- /dev/null +++ b/_generated/ANTV2_Node20/Tests/L0FailedBuilds.ts @@ -0,0 +1,17 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('antBuildFile', '/build/build.xml'); // Make that checkPath returns true for this filename in the response file +runner.setInput('javaHomeSelection', 'JDKVersion'); +runner.setInput('jdkVersion', 'default'); +runner.setInput('testResultsFiles', '**/TEST-*.xml'); +runner.setInput('publishJUnitResults', 'true'); + +runner.setAnswers(answers.failAnswers); + +runner.run(); diff --git a/_generated/ANTV2_Node20/Tests/L0InvalidUserHomePath.ts b/_generated/ANTV2_Node20/Tests/L0InvalidUserHomePath.ts new file mode 100644 index 000000000000..e99d78796752 --- /dev/null +++ b/_generated/ANTV2_Node20/Tests/L0InvalidUserHomePath.ts @@ -0,0 +1,16 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('antBuildFile', '/build/build.xml'); +runner.setInput('javaHomeSelection', 'JDKVersion'); +runner.setInput('jdkVersion', 'default'); +runner.setInput('testResultsFiles', '**/TEST-*.xml'); +runner.setInput('antHomeUserInputPath', '/usr/local/bin/ANT_invalid'); + +runner.setAnswers(answers.versionFailAnswers); + +runner.run(); diff --git a/_generated/ANTV2_Node20/Tests/L0JDKSetTo5.ts b/_generated/ANTV2_Node20/Tests/L0JDKSetTo5.ts new file mode 100644 index 000000000000..bbc0f0954791 --- /dev/null +++ b/_generated/ANTV2_Node20/Tests/L0JDKSetTo5.ts @@ -0,0 +1,16 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('antBuildFile', '/build/build.xml'); +runner.setInput('javaHomeSelection', 'JDKVersion'); +runner.setInput('jdkVersion', '1.5'); +runner.setInput('jdkArchitecture', 'x86'); +runner.setInput('testResultsFiles', '**/TEST-*.xml'); + +runner.setAnswers(answers.successAnswers); + +runner.run(); diff --git a/_generated/ANTV2_Node20/Tests/L0JDKSetTo8.ts b/_generated/ANTV2_Node20/Tests/L0JDKSetTo8.ts new file mode 100644 index 000000000000..ee69c7d04d50 --- /dev/null +++ b/_generated/ANTV2_Node20/Tests/L0JDKSetTo8.ts @@ -0,0 +1,19 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('antBuildFile', '/build/build.xml'); +runner.setInput('javaHomeSelection', 'JDKVersion'); +runner.setInput('jdkVersion', '1.8'); +runner.setInput('jdkArchitecture', 'x86'); +runner.setInput('testResultsFiles', '**/TEST-*.xml'); + +runner.setAnswers(answers.successAnswers); + +process.env['JAVA_HOME_8_X86'] = '/user/local/bin/ANT8'; +process.env['JAVA_HOME_8_X64'] = '/user/local/bin/ANT8'; + +runner.run(); diff --git a/_generated/ANTV2_Node20/Tests/L0MissingAntBuildFile.ts b/_generated/ANTV2_Node20/Tests/L0MissingAntBuildFile.ts new file mode 100644 index 000000000000..6e6ddeeed4d7 --- /dev/null +++ b/_generated/ANTV2_Node20/Tests/L0MissingAntBuildFile.ts @@ -0,0 +1,14 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('javaHomeSelection', 'JDKVersion'); +runner.setInput('jdkVersion', 'default'); +runner.setInput('testResultsFiles', '**/TEST-*.xml'); + +runner.setAnswers(answers.successAnswers); + +runner.run(); diff --git a/_generated/ANTV2_Node20/Tests/L0MissingJavaHomeSelection.ts b/_generated/ANTV2_Node20/Tests/L0MissingJavaHomeSelection.ts new file mode 100644 index 000000000000..1df24ee56f42 --- /dev/null +++ b/_generated/ANTV2_Node20/Tests/L0MissingJavaHomeSelection.ts @@ -0,0 +1,14 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('antBuildFile', '/build/build.xml'); +runner.setInput('jdkVersion', 'default'); +runner.setInput('testResultsFiles', '**/TEST-*.xml'); + +runner.setAnswers(answers.successAnswers); + +runner.run(); diff --git a/_generated/ANTV2_Node20/Tests/L0MissingTestResultsFiles.ts b/_generated/ANTV2_Node20/Tests/L0MissingTestResultsFiles.ts new file mode 100644 index 000000000000..e56109d5d6b2 --- /dev/null +++ b/_generated/ANTV2_Node20/Tests/L0MissingTestResultsFiles.ts @@ -0,0 +1,14 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('antBuildFile', '/build/build.xml'); // Make that checkPath returns true for this filename in the response file +runner.setInput('javaHomeSelection', 'JDKVersion'); +runner.setInput('jdkVersion', 'default'); + +runner.setAnswers(answers.successAnswers); + +runner.run(); diff --git a/_generated/ANTV2_Node20/Tests/L0NoMatchingTestResults.ts b/_generated/ANTV2_Node20/Tests/L0NoMatchingTestResults.ts new file mode 100644 index 000000000000..5bb767c11399 --- /dev/null +++ b/_generated/ANTV2_Node20/Tests/L0NoMatchingTestResults.ts @@ -0,0 +1,16 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('antBuildFile', '/build/build.xml'); // Make that checkPath returns true for this filename in the response file +runner.setInput('javaHomeSelection', 'JDKVersion'); +runner.setInput('jdkVersion', 'default'); +runner.setInput('testResultsFiles', '**/InvalidTestFilter-*.xml'); +runner.setInput('publishJUnitResults', 'true'); + +runner.setAnswers(answers.successAnswers); + +runner.run(); diff --git a/_generated/ANTV2_Node20/Tests/L0PublishTestResults.ts b/_generated/ANTV2_Node20/Tests/L0PublishTestResults.ts new file mode 100644 index 000000000000..c265214a5ce9 --- /dev/null +++ b/_generated/ANTV2_Node20/Tests/L0PublishTestResults.ts @@ -0,0 +1,18 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('antBuildFile', '/build/build.xml'); // Make that checkPath returns true for this filename in the response file +runner.setInput('javaHomeSelection', 'JDKVersion'); +runner.setInput('jdkVersion', 'default'); +runner.setInput('testResultsFiles', '**/TEST-*.xml'); +runner.setInput('publishJUnitResults', 'true'); + +runner.setAnswers(answers.successAnswers); + +process.env['System.DefaultWorkingDirectory'] = '/user/build'; + +runner.run(); diff --git a/_generated/ANTV2_Node20/Tests/L0RunWithAntHomeUserInputPath.ts b/_generated/ANTV2_Node20/Tests/L0RunWithAntHomeUserInputPath.ts new file mode 100644 index 000000000000..53b3d2daa6ed --- /dev/null +++ b/_generated/ANTV2_Node20/Tests/L0RunWithAntHomeUserInputPath.ts @@ -0,0 +1,16 @@ +import path = require('path'); +import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; +import * as answers from './answers'; + +let taskPath = path.join(__dirname, '..', 'anttask.js'); +let runner: TaskMockRunner = new TaskMockRunner(taskPath); + +runner.setInput('antBuildFile', '/build/build.xml'); +runner.setInput('javaHomeSelection', 'JDKVersion'); +runner.setInput('jdkVersion', 'default'); +runner.setInput('testResultsFiles', '**/TEST-*.xml'); +runner.setInput('antHomeUserInputPath', '/usr/local/bin/ANT2'); + +runner.setAnswers(answers.successAnswers); + +runner.run(); diff --git a/_generated/ANTV2_Node20/Tests/answers.ts b/_generated/ANTV2_Node20/Tests/answers.ts new file mode 100644 index 000000000000..1425ef28749f --- /dev/null +++ b/_generated/ANTV2_Node20/Tests/answers.ts @@ -0,0 +1,102 @@ +import { TaskLibAnswers } from 'azure-pipelines-task-lib/mock-answer'; + +export const successAnswers: TaskLibAnswers = { + "which": { + "ant": "/usr/local/bin/ANT", + "node": "/usr/local/bin/node" + }, + "exec": { + "/usr/local/bin/ANT -version": { + "code": 0, + "stdout": "Apache Ant(TM) version 1.9.7 compiled on April 9 2016" + }, + "/usr/local/bin/ANT -buildfile /build/build.xml": { + "code": 0, + "stdout": "" + }, + "reg query HKLM\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.5 /v JavaHome /reg:32": { + "code": 222, + "stdout": "" + }, + "reg query HKLM\\SOFTWARE\\JavaSoft\\Java Development Kit\\ /f 1.5 /k": { + "code": 50, + "stdout": "" + } + }, + "checkPath": { + "/usr/local/bin/ANT": true, + "/build/build.xml": true, + "/usr/local/bin/ANT2": true + }, + "getVariable": { + "ANT_HOME": "/user/local/bin/ANT", + "JAVA_HOME_8_x86": "/user/local/bin/ANT8", + "JAVA_HOME_8_X64": "/user/local/bin/ANT8", + "System.DefaultWorkingDirectory": "/user/build" + }, + "find": { + "/user/build": [ + "/user/build/fun/test-123.xml" + ] + }, + "findMatch": { + "**/TEST-*.xml": [ + "/user/build/fun/test-123.xml" + ] + } +}; + +export const failAnswers: TaskLibAnswers = { + "which": { + "ant": "/usr/local/bin/ANT", + "node": "/usr/local/bin/node" + }, + "exec": { + "/usr/local/bin/ANT -version": { + "code": 0, + "stdout": "Apache Ant(TM) version 1.9.7 compiled on April 9 2016" + }, + "/usr/local/bin/ANT -buildfile /build/build.xml": { + "code": 222, + "stdout": "" + } + }, + "checkPath": { + "/usr/local/bin/ANT": true, + "/build/build.xml": true + }, + "getVariable": { + "ANT_HOME": "/user/local/bin/ANT" + }, + "find": { + "/user/build": [ + "/user/build/fun/test-123.xml" + ] + }, + "findMatch": { + "**/TEST-*.xml": [ + "/user/build/fun/test-123.xml" + ] + } +}; + +export const versionFailAnswers: TaskLibAnswers = { + "which": { + "ant": "/usr/local/bin/ANT", + "node": "/usr/local/bin/node" + }, + "exec": { + "/usr/local/bin/ANT -version": { + "code": 222, + "stdout": "Apache Ant(TM) version 1.9.7 compiled on April 9 2016" + }, + "/usr/local/bin/ANT -buildfile /build/build.xml": { + "code": 0, + "stdout": "" + } + }, + "checkPath" : { + "/usr/local/bin/ANT": true, + "/build/build.xml": true + } +} diff --git a/_generated/ANTV2_Node20/Tests/package-lock.json b/_generated/ANTV2_Node20/Tests/package-lock.json new file mode 100644 index 000000000000..f7b6ad94e7e6 --- /dev/null +++ b/_generated/ANTV2_Node20/Tests/package-lock.json @@ -0,0 +1,22 @@ +{ + "name": "antv1-tests", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "antv1-tests", + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "@types/mocha": "^5.2.7" + } + }, + "node_modules/@types/mocha": { + "version": "5.2.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/mocha/-/mocha-5.2.7.tgz", + "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==", + "dev": true + } + } +} diff --git a/_generated/ANTV2_Node20/Tests/package.json b/_generated/ANTV2_Node20/Tests/package.json new file mode 100644 index 000000000000..37725de724e6 --- /dev/null +++ b/_generated/ANTV2_Node20/Tests/package.json @@ -0,0 +1,22 @@ +{ + "name": "antv1-tests", + "version": "1.0.0", + "description": "Azure Pipelines Ant V1 Task Tests", + "main": "L0.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/Microsoft/azure-pipelines-tasks.git" + }, + "author": "Microsoft Corporation", + "license": "MIT", + "bugs": { + "url": "https://github.com/Microsoft/azure-pipelines-tasks/issues" + }, + "homepage": "https://github.com/Microsoft/azure-pipelines-tasks#readme", + "devDependencies": { + "@types/mocha": "^5.2.7" + } +} diff --git a/_generated/ANTV2_Node20/ThirdPartyNotice.txt b/_generated/ANTV2_Node20/ThirdPartyNotice.txt new file mode 100644 index 000000000000..e02a9dc6967a --- /dev/null +++ b/_generated/ANTV2_Node20/ThirdPartyNotice.txt @@ -0,0 +1,1935 @@ + +THIRD-PARTY SOFTWARE NOTICES AND INFORMATION +Do Not Translate or Localize + +This Azure DevOps extension (ANTV1) is based on or incorporates material from the projects listed below (Third Party IP). The original copyright notice and the license under which Microsoft received such Third Party IP, are set forth below. Such licenses and notices are provided for informational purposes only. Microsoft licenses the Third Party IP to you under the licensing terms for the Azure DevOps extension. Microsoft reserves all other rights not expressly granted under this agreement, whether by implication, estoppel or otherwise. + +1. @types/node (git+https://github.com/DefinitelyTyped/DefinitelyTyped.git) +2. @types/q (git+https://github.com/DefinitelyTyped/DefinitelyTyped.git) +3. balanced-match (git://github.com/juliangruber/balanced-match.git) +4. boolbase (git+https://github.com/fb55/boolbase.git) +5. brace-expansion (git://github.com/juliangruber/brace-expansion.git) +6. cheerio (git://github.com/cheeriojs/cheerio.git) +7. codecoverage-tools (git://github.com/microsoft/azure-pipelines-tasks-coverage-tools.git) +8. concat-map (git://github.com/substack/node-concat-map.git) +9. core-util-is (git://github.com/isaacs/core-util-is.git) +10. css-select (git://github.com/fb55/css-select.git) +11. css-what (git+https://github.com/fb55/css-what.git) +12. dom-serializer (git://github.com/cheeriojs/dom-renderer.git) +13. domelementtype (git://github.com/FB55/domelementtype.git) +14. domelementtype (git://github.com/FB55/domelementtype.git) +15. domhandler (git://github.com/fb55/DomHandler.git) +16. domutils (git://github.com/FB55/domutils.git) +17. entities (git://github.com/fb55/node-entities.git) +18. fs-extra (git+https://github.com/jprichardson/node-fs-extra.git) +19. fs.realpath (git+https://github.com/isaacs/fs.realpath.git) +20. glob (git://github.com/isaacs/node-glob.git) +21. glob (git://github.com/isaacs/node-glob.git) +22. glob (git://github.com/isaacs/node-glob.git) +23. graceful-fs (git+https://github.com/isaacs/node-graceful-fs.git) +24. htmlparser2 (git://github.com/fb55/htmlparser2.git) +25. inflight (git+https://github.com/npm/inflight.git) +26. inherits (git://github.com/isaacs/inherits.git) +27. isarray (git://github.com/juliangruber/isarray.git) +28. jsonfile (git+ssh://git@github.com/jprichardson/node-jsonfile.git) +29. klaw (git+https://github.com/jprichardson/node-klaw.git) +30. lodash.assignin (git+https://github.com/lodash/lodash.git) +31. lodash.bind (git+https://github.com/lodash/lodash.git) +32. lodash.defaults (git+https://github.com/lodash/lodash.git) +33. lodash.filter (git+https://github.com/lodash/lodash.git) +34. lodash.flatten (git+https://github.com/lodash/lodash.git) +35. lodash.foreach (git+https://github.com/lodash/lodash.git) +36. lodash.map (git+https://github.com/lodash/lodash.git) +37. lodash.merge (git+https://github.com/lodash/lodash.git) +38. lodash.pick (git+https://github.com/lodash/lodash.git) +39. lodash.reduce (git+https://github.com/lodash/lodash.git) +40. lodash.reject (git+https://github.com/lodash/lodash.git) +41. lodash.some (git+https://github.com/lodash/lodash.git) +42. minimatch (git://github.com/isaacs/minimatch.git) +43. mockery (git://github.com/mfncooper/mockery.git) +44. node-uuid (git+https://github.com/broofa/node-uuid.git) +45. nth-check (git+https://github.com/fb55/nth-check.git) +46. once (git://github.com/isaacs/once.git) +47. os (git+https://github.com/DiegoRBaquero/node-os.git) +48. path-is-absolute (git+https://github.com/sindresorhus/path-is-absolute.git) +49. process-nextick-args (git+https://github.com/calvinmetcalf/process-nextick-args.git) +50. q (git://github.com/kriskowal/q.git) +51. readable-stream (git://github.com/nodejs/readable-stream.git) +52. rimraf (git://github.com/isaacs/rimraf.git) +53. safe-buffer (git://github.com/feross/safe-buffer.git) +54. sax (git://github.com/isaacs/sax-js.git) +55. semver (git+https://github.com/npm/node-semver.git) +56. shelljs (git://github.com/arturadib/shelljs.git) +57. string_decoder (git://github.com/nodejs/string_decoder.git) +58. strip-bom (git+https://github.com/sindresorhus/strip-bom.git) +59. util-deprecate (git://github.com/TooTallNate/util-deprecate.git) +60. uuid (git+https://github.com/kelektiv/node-uuid.git) +61. vso-node-api (git+https://github.com/Microsoft/vso-node-api.git) +62. vsts-task-lib (git+https://github.com/Microsoft/vsts-task-lib.git) +63. vsts-task-lib (git+https://github.com/Microsoft/vsts-task-lib.git) +64. vsts-task-lib (git+https://github.com/Microsoft/vsts-task-lib.git) +65. wrappy (git+https://github.com/npm/wrappy.git) +66. xml2js (git+https://github.com/Leonidas-from-XIV/node-xml2js.git) +67. xmlbuilder (git://github.com/oozcitak/xmlbuilder-js.git) + + +%% @types/node NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE +========================================= +END OF @types/node NOTICES, INFORMATION, AND LICENSE + +%% @types/q NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE +========================================= +END OF @types/q NOTICES, INFORMATION, AND LICENSE + +%% balanced-match NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +(MIT) + +Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +========================================= +END OF balanced-match NOTICES, INFORMATION, AND LICENSE + +%% boolbase NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +NO LICENSE FOUND +========================================= +END OF boolbase NOTICES, INFORMATION, AND LICENSE + +%% brace-expansion NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +MIT License + +Copyright (c) 2013 Julian Gruber + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +========================================= +END OF brace-expansion NOTICES, INFORMATION, AND LICENSE + +%% cheerio NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +NO LICENSE FOUND +========================================= +END OF cheerio NOTICES, INFORMATION, AND LICENSE + +%% codecoverage-tools NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +NO LICENSE FOUND +========================================= +END OF codecoverage-tools NOTICES, INFORMATION, AND LICENSE + +%% concat-map NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF concat-map NOTICES, INFORMATION, AND LICENSE + +%% core-util-is NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright Node.js contributors. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +========================================= +END OF core-util-is NOTICES, INFORMATION, AND LICENSE + +%% css-select NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +========================================= +END OF css-select NOTICES, INFORMATION, AND LICENSE + +%% css-what NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +========================================= +END OF css-what NOTICES, INFORMATION, AND LICENSE + +%% dom-serializer NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +License + +(The MIT License) + +Copyright (c) 2014 The cheeriojs contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF dom-serializer NOTICES, INFORMATION, AND LICENSE + +%% domelementtype NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +========================================= +END OF domelementtype NOTICES, INFORMATION, AND LICENSE + +%% domelementtype NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +========================================= +END OF domelementtype NOTICES, INFORMATION, AND LICENSE + +%% domhandler NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +========================================= +END OF domhandler NOTICES, INFORMATION, AND LICENSE + +%% domutils NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +========================================= +END OF domutils NOTICES, INFORMATION, AND LICENSE + +%% entities NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +========================================= +END OF entities NOTICES, INFORMATION, AND LICENSE + +%% fs-extra NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +(The MIT License) + +Copyright (c) 2011-2016 JP Richardson + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files +(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, + merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS +OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF fs-extra NOTICES, INFORMATION, AND LICENSE + +%% fs.realpath NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---- + +This library bundles a version of the `fs.realpath` and `fs.realpathSync` +methods from Node.js v0.10 under the terms of the Node.js MIT license. + +Node's license follows, also included at the header of `old.js` which contains +the licensed code: + + Copyright Joyent, Inc. and other Node contributors. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +========================================= +END OF fs.realpath NOTICES, INFORMATION, AND LICENSE + +%% glob NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF glob NOTICES, INFORMATION, AND LICENSE + +%% glob NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF glob NOTICES, INFORMATION, AND LICENSE + +%% glob NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF glob NOTICES, INFORMATION, AND LICENSE + +%% graceful-fs NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter, Ben Noordhuis, and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF graceful-fs NOTICES, INFORMATION, AND LICENSE + +%% htmlparser2 NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright 2010, 2011, Chris Winberry . All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +========================================= +END OF htmlparser2 NOTICES, INFORMATION, AND LICENSE + +%% inflight NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF inflight NOTICES, INFORMATION, AND LICENSE + +%% inherits NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF inherits NOTICES, INFORMATION, AND LICENSE + +%% isarray NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +NO LICENSE FOUND +========================================= +END OF isarray NOTICES, INFORMATION, AND LICENSE + +%% jsonfile NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +(The MIT License) + +Copyright (c) 2012-2015, JP Richardson + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files +(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, + merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS +OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF jsonfile NOTICES, INFORMATION, AND LICENSE + +%% klaw NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +(The MIT License) + +Copyright (c) 2015-2016 JP Richardson + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files +(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, + merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS +OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF klaw NOTICES, INFORMATION, AND LICENSE + +%% lodash.assignin NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.assignin NOTICES, INFORMATION, AND LICENSE + +%% lodash.bind NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.bind NOTICES, INFORMATION, AND LICENSE + +%% lodash.defaults NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.defaults NOTICES, INFORMATION, AND LICENSE + +%% lodash.filter NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.filter NOTICES, INFORMATION, AND LICENSE + +%% lodash.flatten NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.flatten NOTICES, INFORMATION, AND LICENSE + +%% lodash.foreach NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.foreach NOTICES, INFORMATION, AND LICENSE + +%% lodash.map NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.map NOTICES, INFORMATION, AND LICENSE + +%% lodash.merge NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright JS Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.merge NOTICES, INFORMATION, AND LICENSE + +%% lodash.pick NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.pick NOTICES, INFORMATION, AND LICENSE + +%% lodash.reduce NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.reduce NOTICES, INFORMATION, AND LICENSE + +%% lodash.reject NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.reject NOTICES, INFORMATION, AND LICENSE + +%% lodash.some NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. +========================================= +END OF lodash.some NOTICES, INFORMATION, AND LICENSE + +%% minimatch NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF minimatch NOTICES, INFORMATION, AND LICENSE + +%% mockery NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyrights for code authored by Yahoo! Inc. is licensed under the following + terms: + + MIT License + + Copyright (c) 2011 Yahoo! Inc. All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +========================================= +END OF mockery NOTICES, INFORMATION, AND LICENSE + +%% node-uuid NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2010-2012 Robert Kieffer + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +========================================= +END OF node-uuid NOTICES, INFORMATION, AND LICENSE + +%% nth-check NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +NO LICENSE FOUND +========================================= +END OF nth-check NOTICES, INFORMATION, AND LICENSE + +%% once NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF once NOTICES, INFORMATION, AND LICENSE + +%% os NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2016 Diego Rodríguez Baquero + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +========================================= +END OF os NOTICES, INFORMATION, AND LICENSE + +%% path-is-absolute NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF path-is-absolute NOTICES, INFORMATION, AND LICENSE + +%% process-nextick-args NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +# Copyright (c) 2015 Calvin Metcalf + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +**THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.** +========================================= +END OF process-nextick-args NOTICES, INFORMATION, AND LICENSE + +%% q NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright 2009–2017 Kristopher Michael Kowal. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +========================================= +END OF q NOTICES, INFORMATION, AND LICENSE + +%% readable-stream NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Node.js is licensed for use as follows: + +""" +Copyright Node.js contributors. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" + +This license applies to parts of Node.js originating from the +https://github.com/joyent/node repository: + +""" +Copyright Joyent, Inc. and other Node contributors. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" +========================================= +END OF readable-stream NOTICES, INFORMATION, AND LICENSE + +%% rimraf NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF rimraf NOTICES, INFORMATION, AND LICENSE + +%% safe-buffer NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) Feross Aboukhadijeh + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF safe-buffer NOTICES, INFORMATION, AND LICENSE + +%% sax NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +==== + +`String.fromCodePoint` by Mathias Bynens used according to terms of MIT +License, as follows: + + Copyright Mathias Bynens + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF sax NOTICES, INFORMATION, AND LICENSE + +%% semver NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF semver NOTICES, INFORMATION, AND LICENSE + +%% shelljs NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) 2012, Artur Adib +All rights reserved. + +You may use this project under the terms of the New BSD license as follows: + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Artur Adib nor the + names of the contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL ARTUR ADIB BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +========================================= +END OF shelljs NOTICES, INFORMATION, AND LICENSE + +%% string_decoder NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Node.js is licensed for use as follows: + +""" +Copyright Node.js contributors. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" + +This license applies to parts of Node.js originating from the +https://github.com/joyent/node repository: + +""" +Copyright Joyent, Inc. and other Node contributors. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" +========================================= +END OF string_decoder NOTICES, INFORMATION, AND LICENSE + +%% strip-bom NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF strip-bom NOTICES, INFORMATION, AND LICENSE + +%% util-deprecate NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +(The MIT License) + +Copyright (c) 2014 Nathan Rajlich + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF util-deprecate NOTICES, INFORMATION, AND LICENSE + +%% uuid NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2010-2016 Robert Kieffer and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +========================================= +END OF uuid NOTICES, INFORMATION, AND LICENSE + +%% vso-node-api NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +NO LICENSE FOUND +========================================= +END OF vso-node-api NOTICES, INFORMATION, AND LICENSE + +%% vsts-task-lib NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) Microsoft Corporation. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +========================================= +END OF vsts-task-lib NOTICES, INFORMATION, AND LICENSE + +%% vsts-task-lib NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) Microsoft Corporation. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +========================================= +END OF vsts-task-lib NOTICES, INFORMATION, AND LICENSE + +%% vsts-task-lib NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) Microsoft Corporation. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +========================================= +END OF vsts-task-lib NOTICES, INFORMATION, AND LICENSE + +%% wrappy NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF wrappy NOTICES, INFORMATION, AND LICENSE + +%% xml2js NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright 2010, 2011, 2012, 2013. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +========================================= +END OF xml2js NOTICES, INFORMATION, AND LICENSE + +%% xmlbuilder NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2013 Ozgur Ozcitak + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF xmlbuilder NOTICES, INFORMATION, AND LICENSE + diff --git a/_generated/ANTV2_Node20/anttask.ts b/_generated/ANTV2_Node20/anttask.ts new file mode 100644 index 000000000000..edb98992ffd9 --- /dev/null +++ b/_generated/ANTV2_Node20/anttask.ts @@ -0,0 +1,171 @@ +import * as os from 'os'; +import * as path from 'path'; +import * as tl from 'azure-pipelines-task-lib/task'; + +import * as javacommons from 'azure-pipelines-tasks-java-common/java-common'; + +tl.setResourcePath(path.join(__dirname, 'task.json')); + +const TESTRUN_SYSTEM = "VSTS - ant"; +const isWindows = os.type().match(/^Win/); + + +function publishTestResults(publishJUnitResults, testResultsFiles: string) { + if (publishJUnitResults == 'true') { + //check for pattern in testResultsFiles + let matchingTestResultsFiles; + if (testResultsFiles.indexOf('*') >= 0 || testResultsFiles.indexOf('?') >= 0) { + tl.debug('Pattern found in testResultsFiles parameter'); + const buildFolder = tl.getVariable('System.DefaultWorkingDirectory'); + matchingTestResultsFiles = tl.findMatch(buildFolder, testResultsFiles, null, { matchBase: true }); + } + else { + tl.debug('No pattern found in testResultsFiles parameter'); + matchingTestResultsFiles = [testResultsFiles]; + } + + if (!matchingTestResultsFiles || matchingTestResultsFiles.length === 0) { + console.log(tl.loc('NoTestResults', testResultsFiles)); + return 0; + } + + let tp = new tl.TestPublisher("JUnit"); + const testRunTitle = tl.getInput('testRunTitle'); + + tp.publish(matchingTestResultsFiles, 'true', "", "", testRunTitle, 'true', TESTRUN_SYSTEM); + } +} + +function processAntOutputLine(line) { + if (line == null) { + return; + } + + const javacText = "[javac] "; + //[java] [javac] c:\path\to\file:100: error: error_msg + const compileErrorFileRegexWin = /^(\[java\])?\s*\[javac\]\s*([^:]:[^:]+):(\d+):\s*(.+)$/ + //[java] [javac] /path/to/file:100: error: error_msg + const compileErrorFileRegexUnix = /^(\[java\])?\s*\[javac\]\s*([^:]+):(\d+):\s*(.+)$/ + const compileErrorFileRegex = (isWindows) ? compileErrorFileRegexWin : compileErrorFileRegexUnix; + + let severity = null; + if (line.indexOf(javacText) >= 0) { + // parse javac errors and warnings + const matches = compileErrorFileRegex.exec(line); + if (matches) { + let errorMessage = matches[4]; + if (errorMessage) { + if (errorMessage.startsWith('warning:')) { + severity = 'warning'; + } else if (errorMessage.startsWith('error:')) { + severity = 'error'; + } + } + + tl.command('task.issue', { + type: severity, + sourcepath: matches[2], + linenumber: matches[3], + }, matches[0]); + } + } +} + + + +async function doWork() { + + try { + var anttool = tl.which('ant', true); + var antv = tl.tool(anttool); + antv.arg('-version'); + + var antb = tl.tool(anttool); + var antBuildFile = tl.getPathInput('antBuildFile', true, true); + antb.arg('-buildfile'); + antb.arg(antBuildFile); + + // options and targets are optional + antb.line(tl.getInput('options', false)); + antb.arg(tl.getDelimitedInput('targets', ' ', false)); + + // update ANT_HOME if user specified path manually (not required, but if so, check it) + var antHomeUserInputPath = tl.getPathInput('antHomeUserInputPath', false, true); + if (antHomeUserInputPath) { + tl.debug('Using path from user input to set ANT_HOME'); + tl.debug('Set ANT_HOME to ' + antHomeUserInputPath); + process.env['ANT_HOME'] = antHomeUserInputPath; + } + + // Warn if ANT_HOME is not set either locally or on the task via antHomeUserInputPath + var antHome = tl.getVariable('ANT_HOME'); + if (!antHome) { + tl.warning('The ANT_HOME environment variable is not set. Please make sure that it exists and is set to the location of the bin folder. See https://ant.apache.org/manual/install.html.'); + } + + // update JAVA_HOME if user selected specific JDK version or set path manually + var javaHomeSelection = tl.getInput('javaHomeSelection', true); + var specifiedJavaHome = null; + var javaTelemetryData = null; + if (javaHomeSelection == 'JDKVersion') { + tl.debug('Using JDK version to find and set JAVA_HOME'); + var jdkVersion = tl.getInput('jdkVersion'); + var jdkArchitecture = tl.getInput('jdkArchitecture'); + javaTelemetryData = { "jdkVersion": jdkVersion }; + + if (jdkVersion != 'default') { + specifiedJavaHome = javacommons.findJavaHome(jdkVersion, jdkArchitecture); + } + } + else { + tl.debug('Using path from user input to set JAVA_HOME'); + var jdkUserInputPath = tl.getPathInput('jdkUserInputPath', true, true); + specifiedJavaHome = jdkUserInputPath; + javaTelemetryData = { "jdkVersion": "custom" }; + } + javacommons.publishJavaTelemetry('Ant', javaTelemetryData); + + if (specifiedJavaHome) { + tl.debug('Set JAVA_HOME to ' + specifiedJavaHome); + process.env['JAVA_HOME'] = specifiedJavaHome; + } + + + var publishJUnitResults = tl.getInput('publishJUnitResults'); + var testResultsFiles = tl.getInput('testResultsFiles', true); + + await antv.exec(); + var buffer; + antb.on('stdout', (data) => { + if (data) { + buffer += data.toString(); + let idx = buffer.indexOf(os.EOL); + while (idx > -1) { + let line = buffer.substring(0, idx); + processAntOutputLine(line); + buffer = buffer.substring(idx + os.EOL.length); + idx = buffer.indexOf(os.EOL); + } + } + }); + + await antb.exec() + .then(async function (code) { + publishTestResults(publishJUnitResults, testResultsFiles); + tl.setResult(tl.TaskResult.Succeeded, "Task succeeded"); + }) + .fail(function (err) { + console.error(err.message); + publishTestResults(publishJUnitResults, testResultsFiles); + tl.debug('taskRunner fail'); + tl.setResult(tl.TaskResult.Failed, err); + }); + } catch (e) { + tl.debug(e.message); + tl.error(e); + tl.setResult(tl.TaskResult.Failed, e.message); + } +} + +doWork(); + diff --git a/_generated/ANTV2_Node20/icon.png b/_generated/ANTV2_Node20/icon.png new file mode 100644 index 000000000000..b9b2b3db07b9 Binary files /dev/null and b/_generated/ANTV2_Node20/icon.png differ diff --git a/_generated/ANTV2_Node20/icon.svg b/_generated/ANTV2_Node20/icon.svg new file mode 100644 index 000000000000..c2bb6a7998f6 --- /dev/null +++ b/_generated/ANTV2_Node20/icon.svg @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_generated/ANTV2_Node20/make.json b/_generated/ANTV2_Node20/make.json new file mode 100644 index 000000000000..8db9a0bf80f7 --- /dev/null +++ b/_generated/ANTV2_Node20/make.json @@ -0,0 +1,11 @@ +{ + "rm": [ + { + "items": [ + "node_modules/azure-pipelines-tasks-java-common/node_modules/azure-pipelines-task-lib", + "node_modules/mockery" + ], + "options": "-Rf" + } + ] +} \ No newline at end of file diff --git a/_generated/ANTV2_Node20/package-lock.json b/_generated/ANTV2_Node20/package-lock.json new file mode 100644 index 000000000000..70d714416ebf --- /dev/null +++ b/_generated/ANTV2_Node20/package-lock.json @@ -0,0 +1,810 @@ +{ + "name": "Ant", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "Ant", + "license": "MIT", + "dependencies": { + "@types/mocha": "^5.2.7", + "@types/node": "^20.3.1", + "azure-pipelines-task-lib": "^4.15.0", + "azure-pipelines-tasks-java-common": "2.198.1", + "xml2js": "^0.6.2" + }, + "devDependencies": { + "typescript": "5.1.6" + } + }, + "node_modules/@types/concat-stream": { + "version": "1.6.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/form-data": { + "version": "0.0.33", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/form-data/-/form-data-0.0.33.tgz", + "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/mocha": { + "version": "5.2.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/mocha/-/mocha-5.2.7.tgz", + "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" + }, + "node_modules/@types/node": { + "version": "20.7.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-20.7.0.tgz", + "integrity": "sha512-zI22/pJW2wUZOVyguFaUL1HABdmSVxpXrzIqkjsHmyUjNhPoWM1CKfvVuXfetHhIok4RY573cqS0mZ1SJEnoTg==" + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "node_modules/@types/semver": { + "version": "7.3.9", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/semver/-/semver-7.3.9.tgz", + "integrity": "sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ==" + }, + "node_modules/adm-zip": { + "version": "0.5.15", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.5.15.tgz", + "integrity": "sha512-jYPWSeOA8EFoZnucrKCNihqBjoEGQSU4HKgHYQgKNEQ0pQF9a/DYuo/+fAxY76k4qe75LUlLWpAM1QWcBMTOKw==", + "engines": { + "node": ">=12.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/azure-pipelines-task-lib": { + "version": "4.15.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.15.0.tgz", + "integrity": "sha512-Y72FjLTE2CAM9KrBXzc6vjelTBCpdYb2NkyFB0hwksTrhA3q8nsF680dofuTeXztQ94UTpkK27hpgSHnqYf5ZA==", + "dependencies": { + "adm-zip": "^0.5.10", + "minimatch": "3.0.5", + "nodejs-file-downloader": "^4.11.1", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "uuid": "^3.0.1" + } + }, + "node_modules/azure-pipelines-task-lib/node_modules/minimatch": { + "version": "3.0.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/azure-pipelines-tasks-java-common": { + "version": "2.198.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-java-common/-/azure-pipelines-tasks-java-common-2.198.1.tgz", + "integrity": "sha512-LaEdGpC4/5nt3krZOJNIH8r+ZxOEhxocpTH/J//Vx98LeYC6zLGyrmCdTLBrY58nJ9Bo7PD/0ARrasXFPv5VkQ==", + "dependencies": { + "@types/node": "^10.17.0", + "@types/semver": "^7.3.3", + "azure-pipelines-task-lib": "^3.1.0", + "semver": "^7.3.2" + } + }, + "node_modules/azure-pipelines-tasks-java-common/node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + }, + "node_modules/azure-pipelines-tasks-java-common/node_modules/azure-pipelines-task-lib": { + "version": "3.4.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-task-lib/-/azure-pipelines-task-lib-3.4.0.tgz", + "integrity": "sha512-3eC4OTFw+7xD7A2aUhxR/j+jRlTI+vVfS0CGxt1pCLs4c/KmY0tQWgbqjD3157kmiucWxELBvgZHaD2gCBe9fg==", + "license": "MIT", + "dependencies": { + "minimatch": "3.0.5", + "mockery": "^2.1.0", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "sync-request": "6.1.0", + "uuid": "^3.0.1" + } + }, + "node_modules/azure-pipelines-tasks-java-common/node_modules/azure-pipelines-task-lib/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/azure-pipelines-tasks-java-common/node_modules/minimatch": { + "version": "3.0.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/azure-pipelines-tasks-java-common/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/debug": { + "version": "4.3.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "2.5.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/get-intrinsic": { + "version": "1.1.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-port": { + "version": "3.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/http-basic": { + "version": "8.1.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/http-basic/-/http-basic-8.1.3.tgz", + "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", + "dependencies": { + "caseless": "^0.12.0", + "concat-stream": "^1.6.2", + "http-response-object": "^3.0.1", + "parse-cache-control": "^1.0.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/http-response-object": { + "version": "3.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/http-response-object/-/http-response-object-3.0.2.tgz", + "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", + "dependencies": { + "@types/node": "^10.0.3" + } + }, + "node_modules/http-response-object/node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-core-module": { + "version": "2.10.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mockery": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mockery/-/mockery-2.1.0.tgz", + "integrity": "sha512-9VkOmxKlWXoDO/h1jDZaS4lH33aWfRiJiNT/tKj+8OGzrcFDLo8d0syGdbsc3Bc4GvRXPb+NMMvojotmuGJTvA==" + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/nodejs-file-downloader": { + "version": "4.13.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", + "integrity": "sha512-nI2fKnmJWWFZF6SgMPe1iBodKhfpztLKJTtCtNYGhm/9QXmWa/Pk9Sv00qHgzEvNLe1x7hjGDRor7gcm/ChaIQ==", + "dependencies": { + "follow-redirects": "^1.15.6", + "https-proxy-agent": "^5.0.0", + "mime-types": "^2.1.27", + "sanitize-filename": "^1.6.3" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parse-cache-control": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/parse-cache-control/-/parse-cache-control-1.0.1.tgz", + "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/promise": { + "version": "8.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/promise/-/promise-8.2.0.tgz", + "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==", + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/sanitize-filename": { + "version": "1.6.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", + "dependencies": { + "truncate-utf8-bytes": "^1.0.0" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sync-request": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sync-request/-/sync-request-6.1.0.tgz", + "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", + "dependencies": { + "http-response-object": "^3.0.1", + "sync-rpc": "^1.2.1", + "then-request": "^6.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/sync-rpc": { + "version": "1.3.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sync-rpc/-/sync-rpc-1.3.6.tgz", + "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", + "dependencies": { + "get-port": "^3.1.0" + } + }, + "node_modules/then-request": { + "version": "6.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/then-request/-/then-request-6.0.2.tgz", + "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", + "dependencies": { + "@types/concat-stream": "^1.6.0", + "@types/form-data": "0.0.33", + "@types/node": "^8.0.0", + "@types/qs": "^6.2.31", + "caseless": "~0.12.0", + "concat-stream": "^1.6.0", + "form-data": "^2.2.0", + "http-basic": "^8.1.1", + "http-response-object": "^3.0.1", + "promise": "^8.0.0", + "qs": "^6.4.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/then-request/node_modules/@types/node": { + "version": "8.10.66", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" + }, + "node_modules/truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", + "dependencies": { + "utf8-byte-length": "^1.0.1" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + }, + "node_modules/typescript": { + "version": "5.1.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/utf8-byte-length": { + "version": "1.0.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", + "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/xml2js": { + "version": "0.6.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/xml2js/-/xml2js-0.6.2.tgz", + "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "license": "MIT", + "engines": { + "node": ">=4.0" + } + } + } +} diff --git a/_generated/ANTV2_Node20/package.json b/_generated/ANTV2_Node20/package.json new file mode 100644 index 000000000000..b0a43dc2c722 --- /dev/null +++ b/_generated/ANTV2_Node20/package.json @@ -0,0 +1,19 @@ +{ + "name": "Ant", + "author": "Microsoft Corporation", + "description": "Build with Apache Ant", + "license": "MIT", + "bugs": { + "url": "https://github.com/Microsoft/vso-agent-tasks/issues" + }, + "dependencies": { + "@types/mocha": "^5.2.7", + "@types/node": "^20.3.1", + "azure-pipelines-task-lib": "^4.15.0", + "azure-pipelines-tasks-java-common": "2.198.1", + "xml2js": "^0.6.2" + }, + "devDependencies": { + "typescript": "5.1.6" + } +} diff --git a/_generated/ANTV2_Node20/task.json b/_generated/ANTV2_Node20/task.json new file mode 100644 index 000000000000..b38a0fca8ee9 --- /dev/null +++ b/_generated/ANTV2_Node20/task.json @@ -0,0 +1,202 @@ +{ + "id": "3A6A2D63-F2B2-4E93-BCF9-0CBE22F5DC26", + "name": "Ant", + "friendlyName": "Ant", + "description": "Build with Apache Ant", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/build/ant", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613718) or [see the Ant documentation](http://ant.apache.org/)", + "category": "Build", + "visibility": [ + "Build", + "Release" + ], + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 2, + "Minor": 249, + "Patch": 0 + }, + "demands": [ + "ant" + ], + "minimumAgentVersion": "1.89.0", + "groups": [ + { + "name": "junitTestResults", + "displayName": "JUnit Test Results", + "isExpanded": true + }, + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": false + } + ], + "instanceNameFormat": "Ant $(options) $(antBuildFile)", + "inputs": [ + { + "name": "antBuildFile", + "aliases": [ + "buildFile" + ], + "type": "filePath", + "label": "Ant build file", + "defaultValue": "build.xml", + "required": true, + "helpMarkDown": "Relative path from the repository root to the Ant build file." + }, + { + "name": "options", + "type": "string", + "label": "Options", + "defaultValue": "", + "required": false, + "helpMarkDown": "Provide any options to pass to the Ant command line. You can provide your own properties (for example, ***-DmyProperty=myPropertyValue***) and also use built-in variables (for example, ***-DcollectionId=$(system.collectionId)***). Alternatively, the built-in variables are already set as environment variables during the build and can be passed directly (for example, ***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***)." + }, + { + "name": "targets", + "type": "string", + "label": "Target(s)", + "defaultValue": "", + "required": false, + "helpMarkDown": "An optional, space-separated list of targets to build. If not specified, the `default` target will be used. If no `default` target is defined, Ant 1.6.0 and later will build all top-level tasks." + }, + { + "name": "publishJUnitResults", + "type": "boolean", + "label": "Publish to Azure Pipelines", + "required": true, + "defaultValue": "true", + "groupName": "junitTestResults", + "helpMarkDown": "Select this option to publish JUnit test results produced by the Ant build to Azure Pipelines. Each test results file matching `Test Results Files` will be published as a test run in Azure Pipelines." + }, + { + "name": "testResultsFiles", + "type": "filePath", + "label": "Test results files", + "defaultValue": "**/TEST-*.xml", + "required": true, + "groupName": "junitTestResults", + "helpMarkDown": "Test results files path. Wildcards can be used ([more information](https://go.microsoft.com/fwlink/?linkid=856077)). For example, `**/TEST-*.xml` for all XML files whose name starts with TEST-.", + "visibleRule": "publishJUnitResults = true" + }, + { + "name": "testRunTitle", + "type": "string", + "label": "Test run title", + "defaultValue": "", + "required": false, + "groupName": "junitTestResults", + "helpMarkDown": "Provide a name for the test run.", + "visibleRule": "publishJUnitResults = true" + }, + { + "name": "antHomeUserInputPath", + "aliases": [ + "antHomeDirectory" + ], + "type": "string", + "label": "Set ANT_HOME path", + "required": false, + "groupName": "advanced", + "defaultValue": "", + "helpMarkDown": "If set, overrides any existing ANT_HOME environment variable with the given path." + }, + { + "name": "javaHomeSelection", + "aliases": [ + "javaHomeOption" + ], + "type": "radio", + "label": "Set JAVA_HOME by", + "required": true, + "groupName": "advanced", + "defaultValue": "JDKVersion", + "helpMarkDown": "Sets JAVA_HOME either by selecting a JDK version that will be discovered during builds or by manually entering a JDK path.", + "options": { + "JDKVersion": "JDK Version", + "Path": "Path" + } + }, + { + "name": "jdkVersion", + "aliases": [ + "jdkVersionOption" + ], + "type": "pickList", + "label": "JDK version", + "required": false, + "groupName": "advanced", + "defaultValue": "default", + "helpMarkDown": "Will attempt to discover the path to the selected JDK version and set JAVA_HOME accordingly.", + "visibleRule": "javaHomeSelection = JDKVersion", + "options": { + "default": "default", + "1.11": "JDK 11", + "1.10": "JDK 10 (out of support)", + "1.9": "JDK 9 (out of support)", + "1.8": "JDK 8", + "1.7": "JDK 7", + "1.6": "JDK 6 (out of support)" + } + }, + { + "name": "jdkUserInputPath", + "aliases": [ + "jdkUserInputDirectory" + ], + "type": "string", + "label": "JDK path", + "required": true, + "groupName": "advanced", + "defaultValue": "", + "helpMarkDown": "Sets JAVA_HOME to the given path.", + "visibleRule": "javaHomeSelection = Path" + }, + { + "name": "jdkArchitecture", + "aliases": [ + "jdkArchitectureOption" + ], + "type": "pickList", + "label": "JDK architecture", + "defaultValue": "x64", + "required": false, + "helpMarkDown": "Optionally supply the architecture (x86, x64) of the JDK.", + "visibleRule": "jdkVersion != default", + "groupName": "advanced", + "options": { + "x86": "x86", + "x64": "x64" + } + } + ], + "execution": { + "Node10": { + "target": "anttask.js", + "argumentFormat": "" + }, + "Node16": { + "target": "anttask.js", + "argumentFormat": "" + }, + "Node20_1": { + "target": "anttask.js", + "argumentFormat": "" + } + }, + "messages": { + "LocateJVMBasedOnVersionAndArch": "Locate JAVA_HOME for Java %s %s", + "UnsupportedJdkWarning": "JDK 9 and JDK 10 are out of support. Please switch to a later version in your project and pipeline. Attempting to build with JDK 11...", + "FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", + "NoTestResults": "No test result files matching %s were found, so publishing JUnit test results is being skipped." + }, + "_buildConfigMapping": { + "Default": "2.248.0", + "Node20-225": "2.249.0" + } +} \ No newline at end of file diff --git a/_generated/ANTV2_Node20/task.loc.json b/_generated/ANTV2_Node20/task.loc.json new file mode 100644 index 000000000000..6aad1448ae0f --- /dev/null +++ b/_generated/ANTV2_Node20/task.loc.json @@ -0,0 +1,202 @@ +{ + "id": "3A6A2D63-F2B2-4E93-BCF9-0CBE22F5DC26", + "name": "Ant", + "friendlyName": "ms-resource:loc.friendlyName", + "description": "ms-resource:loc.description", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/build/ant", + "helpMarkDown": "ms-resource:loc.helpMarkDown", + "category": "Build", + "visibility": [ + "Build", + "Release" + ], + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 2, + "Minor": 249, + "Patch": 0 + }, + "demands": [ + "ant" + ], + "minimumAgentVersion": "1.89.0", + "groups": [ + { + "name": "junitTestResults", + "displayName": "ms-resource:loc.group.displayName.junitTestResults", + "isExpanded": true + }, + { + "name": "advanced", + "displayName": "ms-resource:loc.group.displayName.advanced", + "isExpanded": false + } + ], + "instanceNameFormat": "ms-resource:loc.instanceNameFormat", + "inputs": [ + { + "name": "antBuildFile", + "aliases": [ + "buildFile" + ], + "type": "filePath", + "label": "ms-resource:loc.input.label.antBuildFile", + "defaultValue": "build.xml", + "required": true, + "helpMarkDown": "ms-resource:loc.input.help.antBuildFile" + }, + { + "name": "options", + "type": "string", + "label": "ms-resource:loc.input.label.options", + "defaultValue": "", + "required": false, + "helpMarkDown": "ms-resource:loc.input.help.options" + }, + { + "name": "targets", + "type": "string", + "label": "ms-resource:loc.input.label.targets", + "defaultValue": "", + "required": false, + "helpMarkDown": "ms-resource:loc.input.help.targets" + }, + { + "name": "publishJUnitResults", + "type": "boolean", + "label": "ms-resource:loc.input.label.publishJUnitResults", + "required": true, + "defaultValue": "true", + "groupName": "junitTestResults", + "helpMarkDown": "ms-resource:loc.input.help.publishJUnitResults" + }, + { + "name": "testResultsFiles", + "type": "filePath", + "label": "ms-resource:loc.input.label.testResultsFiles", + "defaultValue": "**/TEST-*.xml", + "required": true, + "groupName": "junitTestResults", + "helpMarkDown": "ms-resource:loc.input.help.testResultsFiles", + "visibleRule": "publishJUnitResults = true" + }, + { + "name": "testRunTitle", + "type": "string", + "label": "ms-resource:loc.input.label.testRunTitle", + "defaultValue": "", + "required": false, + "groupName": "junitTestResults", + "helpMarkDown": "ms-resource:loc.input.help.testRunTitle", + "visibleRule": "publishJUnitResults = true" + }, + { + "name": "antHomeUserInputPath", + "aliases": [ + "antHomeDirectory" + ], + "type": "string", + "label": "ms-resource:loc.input.label.antHomeUserInputPath", + "required": false, + "groupName": "advanced", + "defaultValue": "", + "helpMarkDown": "ms-resource:loc.input.help.antHomeUserInputPath" + }, + { + "name": "javaHomeSelection", + "aliases": [ + "javaHomeOption" + ], + "type": "radio", + "label": "ms-resource:loc.input.label.javaHomeSelection", + "required": true, + "groupName": "advanced", + "defaultValue": "JDKVersion", + "helpMarkDown": "ms-resource:loc.input.help.javaHomeSelection", + "options": { + "JDKVersion": "JDK Version", + "Path": "Path" + } + }, + { + "name": "jdkVersion", + "aliases": [ + "jdkVersionOption" + ], + "type": "pickList", + "label": "ms-resource:loc.input.label.jdkVersion", + "required": false, + "groupName": "advanced", + "defaultValue": "default", + "helpMarkDown": "ms-resource:loc.input.help.jdkVersion", + "visibleRule": "javaHomeSelection = JDKVersion", + "options": { + "default": "default", + "1.11": "JDK 11", + "1.10": "JDK 10 (out of support)", + "1.9": "JDK 9 (out of support)", + "1.8": "JDK 8", + "1.7": "JDK 7", + "1.6": "JDK 6 (out of support)" + } + }, + { + "name": "jdkUserInputPath", + "aliases": [ + "jdkUserInputDirectory" + ], + "type": "string", + "label": "ms-resource:loc.input.label.jdkUserInputPath", + "required": true, + "groupName": "advanced", + "defaultValue": "", + "helpMarkDown": "ms-resource:loc.input.help.jdkUserInputPath", + "visibleRule": "javaHomeSelection = Path" + }, + { + "name": "jdkArchitecture", + "aliases": [ + "jdkArchitectureOption" + ], + "type": "pickList", + "label": "ms-resource:loc.input.label.jdkArchitecture", + "defaultValue": "x64", + "required": false, + "helpMarkDown": "ms-resource:loc.input.help.jdkArchitecture", + "visibleRule": "jdkVersion != default", + "groupName": "advanced", + "options": { + "x86": "x86", + "x64": "x64" + } + } + ], + "execution": { + "Node10": { + "target": "anttask.js", + "argumentFormat": "" + }, + "Node16": { + "target": "anttask.js", + "argumentFormat": "" + }, + "Node20_1": { + "target": "anttask.js", + "argumentFormat": "" + } + }, + "messages": { + "LocateJVMBasedOnVersionAndArch": "ms-resource:loc.messages.LocateJVMBasedOnVersionAndArch", + "UnsupportedJdkWarning": "ms-resource:loc.messages.UnsupportedJdkWarning", + "FailedToLocateSpecifiedJVM": "ms-resource:loc.messages.FailedToLocateSpecifiedJVM", + "NoTestResults": "ms-resource:loc.messages.NoTestResults" + }, + "_buildConfigMapping": { + "Default": "2.248.0", + "Node20-225": "2.249.0" + } +} \ No newline at end of file diff --git a/_generated/ANTV2_Node20/tsconfig.json b/_generated/ANTV2_Node20/tsconfig.json new file mode 100644 index 000000000000..79a868c8d1e3 --- /dev/null +++ b/_generated/ANTV2_Node20/tsconfig.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "target": "ES6", + "module": "commonjs" + }, + "exclude": [ + "node_modules" + ] +} \ No newline at end of file diff --git a/make-options.json b/make-options.json index 9930fa63ca33..72c44d89b393 100644 --- a/make-options.json +++ b/make-options.json @@ -3,6 +3,7 @@ "AndroidSigningV2", "AndroidSigningV3", "ANTV1", + "ANTV2", "AppCenterDistributeV1", "AppCenterDistributeV2", "AppCenterDistributeV3", @@ -234,6 +235,7 @@ "AndroidSigningV3", "AzureTestPlanV0", "ANTV1", + "ANTV2", "ArchiveFilesV2", "BashV3", "CMakeV1",