Repository: microsoft/vscode-maven Branch: main Commit: 29384fe4f470 Files: 213 Total size: 2.0 MB Directory structure: gitextract_rn0tbfnd/ ├── .azure-pipelines/ │ ├── ci.yml │ ├── nightly.yml │ ├── rc.yml │ ├── release-nightly.yml │ └── release.yml ├── .config/ │ └── 1espt/ │ └── PipelineAutobaseliningConfig.yml ├── .eslintrc.json ├── .github/ │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ ├── llms.md │ ├── no-response.yml │ └── workflows/ │ ├── ci.yml │ ├── no-response.yml │ ├── triage-agent.yml │ ├── triage-all-open-issues.yml │ └── unit-tests.yml ├── .gitignore ├── .mocharc.json ├── .vscode/ │ ├── launch.json │ ├── settings.json │ └── tasks.json ├── .vscodeignore ├── CHANGELOG.md ├── LICENSE.txt ├── README.md ├── SECURITY.md ├── SUPPORT.md ├── ThirdPartyNotices.txt ├── Troubleshooting.md ├── javaConfig.json ├── jdtls.ext/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ └── maven-wrapper.properties │ ├── .project │ ├── checkstyle.xml │ ├── com.microsoft.java.maven.plugin/ │ │ ├── .classpath │ │ ├── .project │ │ ├── META-INF/ │ │ │ └── MANIFEST.MF │ │ ├── ThirdPartyNotices.txt │ │ ├── build.properties │ │ ├── plugin.xml │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── microsoft/ │ │ └── java/ │ │ └── maven/ │ │ ├── AddDependencyHandler.java │ │ ├── ArtifactResult.java │ │ ├── ArtifactSearcher.java │ │ ├── GetPosHandler.java │ │ ├── NetResponseResult.java │ │ ├── PluginActivator.java │ │ ├── PosInfo.java │ │ └── handler/ │ │ └── DelegateCommandHandler.java │ ├── com.microsoft.java.maven.target/ │ │ ├── com.microsoft.java.maven.tp.target │ │ └── pom.xml │ ├── mvnw │ ├── mvnw.cmd │ └── pom.xml ├── package.json ├── package.nls.json ├── package.nls.zh-cn.json ├── package.nls.zh-tw.json ├── resources/ │ ├── IndexData/ │ │ ├── ArtifactUsage.json │ │ └── index/ │ │ ├── _l.fdt │ │ ├── _l.fdx │ │ ├── _l.fnm │ │ ├── _l.nvd │ │ ├── _l.nvm │ │ ├── _l_3.liv │ │ ├── _l_Lucene50_0.doc │ │ ├── _l_Lucene50_0.pos │ │ ├── _l_Lucene50_0.tim │ │ ├── _l_Lucene50_0.tip │ │ ├── nexus-maven-repository-index-packer.properties │ │ └── timestamp │ ├── archetypes.json │ ├── maven-4.0.0.xsd.json │ ├── maven-wrapper/ │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── MavenWrapperDownloader.java │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ └── mvnw.cmd │ ├── popular_archetypes.json │ └── projectTemplate/ │ └── pom.xml ├── scripts/ │ ├── build-jdtls-ext.js │ ├── generate-maven-xsd.js │ ├── generate-maven-xsd.ts │ ├── list-autotest-plans.js │ ├── prepare-nightly-build.js │ ├── run-autotest-plans.js │ └── update-third-party-notice.js ├── src/ │ ├── DiagnosticProvider.ts │ ├── Settings.ts │ ├── archetype/ │ │ ├── Archetype.ts │ │ ├── ArchetypeModule.ts │ │ ├── archetypeCommand.ts │ │ ├── createProject/ │ │ │ ├── SelectArchetypeStep.ts │ │ │ ├── SelectParentPomStep.ts │ │ │ ├── SpecifyArchetypeVersionStep.ts │ │ │ ├── SpecifyArtifactIdStep.ts │ │ │ ├── SpecifyGroupIdStep.ts │ │ │ ├── SpecifyTargetFolderStep.ts │ │ │ ├── index.ts │ │ │ └── types.ts │ │ └── utils.ts │ ├── codeAction/ │ │ ├── codeActionProvider.ts │ │ └── conflictResolver.ts │ ├── completion/ │ │ ├── IPomCompletionProvider.ts │ │ ├── PomCompletionProvider.ts │ │ ├── constants.ts │ │ ├── providers/ │ │ │ ├── ArtifactProvider.ts │ │ │ ├── IXmlCompletionProvider.ts │ │ │ ├── PropertiesProvider.ts │ │ │ ├── SchemaProvider.ts │ │ │ ├── SnippetProvider.ts │ │ │ └── artifact/ │ │ │ ├── FromCentral.ts │ │ │ ├── FromIndex.ts │ │ │ ├── FromLocal.ts │ │ │ └── IArtifactProvider.ts │ │ └── utils.ts │ ├── contentProvider.ts │ ├── debouncing.ts │ ├── definition/ │ │ └── definitionProvider.ts │ ├── experimentationService.ts │ ├── explorer/ │ │ ├── EffectivePomProvider.ts │ │ ├── MavenExplorerProvider.ts │ │ ├── decorationProvider.ts │ │ ├── model/ │ │ │ ├── DependenciesMenu.ts │ │ │ ├── Dependency.ts │ │ │ ├── FavoriteCommand.ts │ │ │ ├── FavoritesMenu.ts │ │ │ ├── HintNode.ts │ │ │ ├── IEffectivePom.ts │ │ │ ├── ITreeItem.ts │ │ │ ├── ITreeNode.ts │ │ │ ├── LifecycleMenu.ts │ │ │ ├── LifecyclePhase.ts │ │ │ ├── MavenPlugin.ts │ │ │ ├── MavenProfile.ts │ │ │ ├── MavenProject.ts │ │ │ ├── Menu.ts │ │ │ ├── OmittedStatus.ts │ │ │ ├── PluginGoal.ts │ │ │ ├── PluginsMenu.ts │ │ │ ├── ProfilesMenu.ts │ │ │ └── WorkspaceFolder.ts │ │ └── pluginInfoProvider.ts │ ├── extension.ts │ ├── handlers/ │ │ ├── debugHandler.ts │ │ ├── dependency/ │ │ │ ├── addDependencyHandler.ts │ │ │ ├── artifactUsage.ts │ │ │ ├── excludeDependencyHandler.ts │ │ │ ├── goToEffectiveHandler.ts │ │ │ ├── jumpToDefinitionHandler.ts │ │ │ ├── setDependencyVersionHandler.ts │ │ │ ├── showDependenciesHandler.ts │ │ │ └── utils.ts │ │ ├── favorites/ │ │ │ ├── addFavoriteHandler.ts │ │ │ └── runFavoriteCommandsHandler.ts │ │ ├── lifecycle/ │ │ │ ├── executeLifecyclePhaseHandler.ts │ │ │ └── lifecyclePhaseExecutionArgs.ts │ │ └── parseRawDependencyDataHandler.ts │ ├── hover/ │ │ └── hoverProvider.ts │ ├── jdtls/ │ │ ├── artifactSearcher.ts │ │ └── commands.ts │ ├── mavenOutputChannel.ts │ ├── mavenProblemMatcher.ts │ ├── mavenTerminal.ts │ ├── mavenXsd.ts │ ├── project/ │ │ └── MavenProjectManager.ts │ ├── taskExecutor.ts │ ├── types.d.ts │ └── utils/ │ ├── Utils.ts │ ├── contextUtils.ts │ ├── cpUtils.ts │ ├── editUtils.ts │ ├── errorUtils.ts │ ├── extensionUtils.ts │ ├── historyUtils.ts │ ├── jarUtils.ts │ ├── lexerUtils.ts │ ├── mavenUtils.ts │ ├── requestUtils.ts │ └── uiUtils.ts ├── test/ │ ├── projects/ │ │ ├── .gitignore │ │ ├── lifecycle-compile/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── microsoft/ │ │ │ └── vscode/ │ │ │ └── maven/ │ │ │ └── test/ │ │ │ └── App.java │ │ ├── maven/ │ │ │ ├── .vscode/ │ │ │ │ ├── launch.json │ │ │ │ ├── settings.json │ │ │ │ └── tasks.json │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── mycompany/ │ │ │ │ ├── app/ │ │ │ │ │ ├── App.java │ │ │ │ │ ├── AppToDelete.java │ │ │ │ │ └── AppToRename.java │ │ │ │ └── app1/ │ │ │ │ └── App1.java │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── mycompany/ │ │ │ └── app/ │ │ │ └── AppTest.java │ │ ├── multi-module/ │ │ │ ├── .vscode/ │ │ │ │ └── settings.json │ │ │ ├── module1/ │ │ │ │ ├── pom.xml │ │ │ │ └── src/ │ │ │ │ ├── main/ │ │ │ │ │ └── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── mycompany/ │ │ │ │ │ └── app/ │ │ │ │ │ └── App.java │ │ │ │ └── test/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── mycompany/ │ │ │ │ └── app/ │ │ │ │ └── AppTest.java │ │ │ ├── module2/ │ │ │ │ ├── pom.xml │ │ │ │ └── src/ │ │ │ │ ├── main/ │ │ │ │ │ └── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── mycompany/ │ │ │ │ │ └── app/ │ │ │ │ │ └── App.java │ │ │ │ └── test/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── mycompany/ │ │ │ │ └── app/ │ │ │ │ └── AppTest.java │ │ │ └── pom.xml │ │ └── multiple/ │ │ └── multiple-project.code-workspace │ └── unit/ │ ├── archetypeCommand.test.ts │ ├── lifecyclePhaseExecutionArgs.test.ts │ ├── mavenUtils.test.ts │ └── vscode-mock.ts ├── test-plans/ │ ├── maven-archetype-create-project.yaml │ ├── maven-executable-safety-branches.yaml │ ├── maven-executable-safety.yaml │ ├── maven-lifecycle-inline-action.yaml │ ├── maven-smoke.yaml │ └── maven-trust-gating.yaml ├── tsconfig.json └── webpack.config.js ================================================ FILE CONTENTS ================================================ ================================================ FILE: .azure-pipelines/ci.yml ================================================ name: $(Date:yyyyMMdd).$(Rev:r) variables: - name: Codeql.Enabled value: true resources: repositories: - repository: self type: git ref: refs/heads/main - repository: 1esPipelines type: git name: 1ESPipelineTemplates/1ESPipelineTemplates ref: refs/tags/release trigger: branches: include: - main extends: template: v1/1ES.Unofficial.PipelineTemplate.yml@1esPipelines parameters: pool: os: linux name: 1ES_JavaTooling_Pool image: 1ES_JavaTooling_Ubuntu-2004 sdl: sourceAnalysisPool: name: 1ES_JavaTooling_Pool image: 1ES_JavaTooling_Windows_2022 os: windows stages: - stage: Build jobs: - job: Job_1 displayName: VSCode-Maven-CI templateContext: outputs: - output: pipelineArtifact artifactName: drop targetPath: $(Build.ArtifactStagingDirectory) displayName: "Publish Artifact: drop" steps: - checkout: self fetchTags: false - task: NodeTool@0 displayName: 'Use Node.js 20.x' inputs: versionSpec: '20.x' - task: Npm@1 displayName: 'npm install' inputs: verbose: false - task: Npm@1 displayName: 'npm run tslint' inputs: command: custom verbose: false customCommand: 'run tslint' - task: Npm@1 displayName: 'npm run compile' inputs: command: custom verbose: false customCommand: 'run compile' - task: JavaToolInstaller@0 displayName: Use Java 21 inputs: versionSpec: "21" jdkArchitectureOption: x64 jdkSourceOption: PreInstalled - task: Npm@1 displayName: 'npm run build-plugin' inputs: command: custom verbose: false customCommand: 'run build-plugin' - script: 'npx @vscode/vsce@latest package' displayName: 'package vsix' - task: CopyFiles@2 displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)' inputs: Contents: '*.vsix' TargetFolder: '$(Build.ArtifactStagingDirectory)' ================================================ FILE: .azure-pipelines/nightly.yml ================================================ name: $(Date:yyyyMMdd).$(Rev:r) variables: - name: Codeql.Enabled value: true schedules: - cron: 0 3 * * * branches: include: - main resources: repositories: - repository: self type: git ref: refs/heads/main - repository: MicroBuildTemplate type: git name: 1ESPipelineTemplates/MicroBuildTemplate trigger: none pr: none extends: template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate parameters: pool: name: VSEng-MicroBuildVSStable stages: - stage: Build jobs: - job: Job_1 displayName: VSCode-Maven-Nightly templateContext: mb: signing: enabled: true signType: real signWithProd: true zipSources: false feedSource: 'https://mseng.pkgs.visualstudio.com/DefaultCollection/_packaging/MicroBuildToolset/nuget/v3/index.json' outputs: - output: pipelineArtifact artifactName: drop targetPath: $(Build.ArtifactStagingDirectory) displayName: "Publish Artifact: drop" steps: - checkout: self fetchTags: true - task: NodeTool@0 displayName: Use Node 20.x inputs: versionSpec: 20.x - task: PowerShell@2 displayName: Download JDK 21 inputs: targetType: 'inline' script: |- New-Item -ItemType Directory -Path "$env:AGENT_TEMPDIRECTORY\downloadjdk" Invoke-WebRequest -Uri "https://aka.ms/download-jdk/microsoft-jdk-21-windows-x64.zip" -OutFile "$env:AGENT_TEMPDIRECTORY\downloadjdk\microsoft-jdk-21-windows-x64.zip" - task: Npm@1 displayName: 'npm install' inputs: verbose: false - task: Npm@1 displayName: 'npm run tslint' inputs: command: custom verbose: false customCommand: 'run tslint' - task: Npm@1 displayName: 'npm run compile' inputs: command: custom verbose: false customCommand: 'run compile' - task: JavaToolInstaller@0 displayName: 'Use Java 21' inputs: versionSpec: 21 jdkArchitectureOption: x64 jdkSourceOption: LocalDirectory jdkFile: $(Agent.TempDirectory)/downloadjdk/microsoft-jdk-21-windows-x64.zip jdkDestinationDirectory: $(Agent.ToolsDirectory)/ms-jdk21 - script: java --version displayName: 'Check Java installation' - task: Npm@1 displayName: 'npm run build-plugin' inputs: command: custom verbose: false customCommand: 'run build-plugin' - task: CmdLine@2 displayName: Update nightly vsix version inputs: script: node scripts/prepare-nightly-build.js - task: CmdLine@2 displayName: Replace AI key inputs: script: npx json@latest -I -f package.json -e "this.aiKey=\"%AI_KEY%\"" - script: 'npx @vscode/vsce@latest package --pre-release -o extension.vsix' displayName: 'package vsix' ### Copy files for APIScan - task: CopyFiles@2 displayName: "Copy Files for APIScan" inputs: Contents: "*.vsix" TargetFolder: $(Agent.TempDirectory)/APIScanFiles condition: and(succeeded(), ne(variables['DisableAPIScan'], 'true')) ### Run latest version of APIScan listed at https://www.1eswiki.com/wiki/APIScan_Build_Task - task: APIScan@2 displayName: Run APIScan inputs: softwareFolder: $(Agent.TempDirectory)/APIScanFiles softwareName: "vscode-maven" softwareVersionNum: "$(Build.BuildId)" isLargeApp: false toolVersion: "Latest" condition: and(succeeded(), ne(variables['DisableAPIScan'], 'true')) env: AzureServicesAuthConnectionString: runAs=App;AppId=$(ApiScanClientId);TenantId=$(ApiScanTenant);AppKey=$(ApiScanSecret) - script: npx @vscode/vsce@latest generate-manifest -i extension.vsix -o extension.manifest displayName: 'Generate extension manifest' - script: copy extension.manifest extension.signature.p7s displayName: 'Prepare manifest for signing' - task: CmdLine@2 displayName: Sign extension env: SYSTEM_ACCESSTOKEN: $(System.AccessToken) inputs: script: dotnet %MBSIGN_APPFOLDER%/ddsignfiles.dll /file:extension.signature.p7s /certs:4014052 - task: CopyFiles@2 displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)' inputs: Contents: | extension.vsix extension.manifest extension.signature.p7s TargetFolder: '$(Build.ArtifactStagingDirectory)' ================================================ FILE: .azure-pipelines/rc.yml ================================================ name: $(Date:yyyyMMdd).$(Rev:r) variables: - name: Codeql.Enabled value: true schedules: - cron: 0 3 * * * branches: include: - main resources: repositories: - repository: self type: git ref: refs/heads/main - repository: MicroBuildTemplate type: git name: 1ESPipelineTemplates/MicroBuildTemplate trigger: none pr: none extends: template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate parameters: pool: name: VSEng-MicroBuildVSStable stages: - stage: Build jobs: - job: Job_1 displayName: VSCode-Maven-RC templateContext: mb: signing: enabled: true signType: real signWithProd: true zipSources: false feedSource: 'https://mseng.pkgs.visualstudio.com/DefaultCollection/_packaging/MicroBuildToolset/nuget/v3/index.json' outputs: - output: pipelineArtifact artifactName: drop targetPath: $(Build.ArtifactStagingDirectory) displayName: "Publish Artifact: drop" steps: - checkout: self fetchTags: true - task: NodeTool@0 displayName: Use Node 20.x inputs: versionSpec: 20.x - task: PowerShell@2 displayName: Download JDK 21 inputs: targetType: 'inline' script: |- New-Item -ItemType Directory -Path "$env:AGENT_TEMPDIRECTORY\downloadjdk" Invoke-WebRequest -Uri "https://aka.ms/download-jdk/microsoft-jdk-21-windows-x64.zip" -OutFile "$env:AGENT_TEMPDIRECTORY\downloadjdk\microsoft-jdk-21-windows-x64.zip" - task: Npm@1 displayName: 'npm install' inputs: verbose: false - task: Npm@1 displayName: 'npm run tslint' inputs: command: custom verbose: false customCommand: 'run tslint' - task: Npm@1 displayName: 'npm run compile' inputs: command: custom verbose: false customCommand: 'run compile' - task: JavaToolInstaller@0 displayName: 'Use Java 21' inputs: versionSpec: 21 jdkArchitectureOption: x64 jdkSourceOption: LocalDirectory jdkFile: $(Agent.TempDirectory)/downloadjdk/microsoft-jdk-21-windows-x64.zip jdkDestinationDirectory: $(Agent.ToolsDirectory)/ms-jdk21 - script: java --version displayName: 'Check Java installation' - task: Npm@1 displayName: 'npm run build-plugin' inputs: command: custom verbose: false customCommand: 'run build-plugin' - task: CmdLine@2 displayName: Replace AI key inputs: script: npx json@latest -I -f package.json -e "this.aiKey=\"%AI_KEY%\"" - script: 'npx @vscode/vsce@latest package -o extension.vsix' displayName: 'package vsix' ### Copy files for APIScan - task: CopyFiles@2 displayName: "Copy Files for APIScan" inputs: Contents: "*.vsix" TargetFolder: $(Agent.TempDirectory)/APIScanFiles condition: and(succeeded(), ne(variables['DisableAPIScan'], 'true')) ### Run latest version of APIScan listed at https://www.1eswiki.com/wiki/APIScan_Build_Task - task: APIScan@2 displayName: Run APIScan inputs: softwareFolder: $(Agent.TempDirectory)/APIScanFiles softwareName: "vscode-maven" softwareVersionNum: "$(Build.BuildId)" isLargeApp: false toolVersion: "Latest" condition: and(succeeded(), ne(variables['DisableAPIScan'], 'true')) env: AzureServicesAuthConnectionString: runAs=App;AppId=$(ApiScanClientId);TenantId=$(ApiScanTenant);AppKey=$(ApiScanSecret) - script: npx @vscode/vsce@latest generate-manifest -i extension.vsix -o extension.manifest displayName: 'Generate extension manifest' - script: copy extension.manifest extension.signature.p7s displayName: 'Prepare manifest for signing' - task: CmdLine@2 displayName: Sign extension env: SYSTEM_ACCESSTOKEN: $(System.AccessToken) inputs: script: dotnet %MBSIGN_APPFOLDER%/ddsignfiles.dll /file:extension.signature.p7s /certs:4014052 - task: CopyFiles@2 displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)' inputs: Contents: | extension.vsix extension.manifest extension.signature.p7s TargetFolder: '$(Build.ArtifactStagingDirectory)' ================================================ FILE: .azure-pipelines/release-nightly.yml ================================================ # This pipeline is used to release the Maven for Java extension from the nightly/stable build. # It contains following steps: # 1. Download the plugin artifact from the nightly/stable build pipeline. # 2. Publish the plugin to the marketplace. name: $(Date:yyyyMMdd).$(Rev:r) # Use the current date and a revision number for the build name. variables: - name: Codeql.Enabled value: true resources: repositories: - repository: self type: git ref: refs/heads/main - repository: 1esPipelines type: git name: 1ESPipelineTemplates/1ESPipelineTemplates ref: refs/tags/release trigger: none extends: template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines parameters: pool: os: linux name: 1ES_JavaTooling_Pool image: 1ES_JavaTooling_Ubuntu-2004 stages: - stage: Release jobs: - job: Job displayName: Release Maven for Java VS Code Extension templateContext: type: releaseJob isProduction: true inputs: - input: pipelineArtifact buildType: specific project: $(AzDo.ProjectId) # Azure DevOps project ID definition: $(AzDo.BuildPipelineId) # artifact build pipeline ID artifactName: drop downloadType: specific targetPath: '$(Build.SourcesDirectory)' steps: - task: UseNode@1 displayName: 'Use Node.js 20.x' inputs: version: '20.x' - task: AzureCLI@2 displayName: 'Publish Extension' inputs: azureSubscription: 'VSCode-Ext-Publishing' scriptType: pscore scriptLocation: inlineScript inlineScript: 'npx @vscode/vsce@latest publish -i ''$(Build.SourcesDirectory)/extension.vsix'' --manifestPath ''$(Build.SourcesDirectory)/extension.manifest'' --signaturePath ''$(Build.SourcesDirectory)/extension.signature.p7s'' --azure-credential' ================================================ FILE: .azure-pipelines/release.yml ================================================ # This pipeline is used to release the Maven for Java extension from the nightly/stable build. # It contains following steps: # 1. Download the plugin artifact from the nightly/stable build pipeline. # 2. Publish the plugin to the marketplace. name: $(Date:yyyyMMdd).$(Rev:r) # Use the current date and a revision number for the build name. variables: - name: Codeql.Enabled value: true resources: repositories: - repository: self type: git ref: refs/heads/main - repository: 1esPipelines type: git name: 1ESPipelineTemplates/1ESPipelineTemplates ref: refs/tags/release trigger: none extends: template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines parameters: pool: os: linux name: 1ES_JavaTooling_Pool image: 1ES_JavaTooling_Ubuntu-2004 stages: - stage: Release jobs: - job: Job displayName: Release Maven for Java VS Code Extension templateContext: type: releaseJob isProduction: true inputs: - input: pipelineArtifact buildType: specific project: $(AzDo.ProjectId) # Azure DevOps project ID definition: $(AzDo.BuildPipelineId) # artifact build pipeline ID artifactName: drop downloadType: specific targetPath: '$(Build.SourcesDirectory)' steps: - task: UseNode@1 displayName: 'Use Node.js 20.x' inputs: version: '20.x' - task: AzureCLI@2 displayName: 'Publish Extension' inputs: azureSubscription: 'VSCode-Ext-Publishing' scriptType: pscore scriptLocation: inlineScript inlineScript: 'npx @vscode/vsce@latest publish -i ''$(Build.SourcesDirectory)/extension.vsix'' --manifestPath ''$(Build.SourcesDirectory)/extension.manifest'' --signaturePath ''$(Build.SourcesDirectory)/extension.signature.p7s'' --azure-credential' ================================================ FILE: .config/1espt/PipelineAutobaseliningConfig.yml ================================================ ## DO NOT MODIFY THIS FILE MANUALLY. This is part of auto-baselining from 1ES Pipeline Templates. Go to [https://aka.ms/1espt-autobaselining] for more details. pipelines: 11975: retail: source: credscan: lastModifiedDate: 2024-11-12 eslint: lastModifiedDate: 2024-11-12 armory: lastModifiedDate: 2024-11-12 binary: credscan: lastModifiedDate: 2024-11-12 binskim: lastModifiedDate: 2024-11-12 ================================================ FILE: .eslintrc.json ================================================ { "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"], "parser": "@typescript-eslint/parser", "plugins": ["@typescript-eslint"], "root": true, "ignorePatterns":[ "test", "out", "node_modules", "scripts", "resources", "webpack.config.js", "dist" ], "rules": { "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-unused-vars": "off" } } ================================================ FILE: .github/CODEOWNERS ================================================ * @jdneo @testforstephen @chagong @wenytang-ms ================================================ FILE: .github/ISSUE_TEMPLATE/bug_report.md ================================================ --- name: Bug report about: Create a report to help us improve --- **Describe the bug** A clear and concise description of what the bug is. **To Reproduce** Steps to reproduce the behavior: 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' 4. See error **Expected behavior** A clear and concise description of what you expected to happen. **Environments (please complete the following information as much as possible):** - OS: [e.g. Windows 10/Linux/OS X] - VS Code version: [e.g. 1.24.0] - Extension version [e.g. 0.9.0] **Screenshots** If applicable, add screenshots to help explain your problem. **Additional context** Add any other context about the problem here. ================================================ FILE: .github/ISSUE_TEMPLATE/feature_request.md ================================================ --- name: Feature request about: Suggest an idea for this project title: Feature request label: backlog --- ## Suggestion ## Use Cases ## Examples ================================================ FILE: .github/llms.md ================================================ # Maven for Java Maven for Java is a lightweight extension to provide additional support for Apache Maven. The extension is part of the [Extension Pack for Java](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack) and provides Maven project scaffolding, custom goals execution, and dependency management capabilities for Java applications in Visual Studio Code. Key features include: - [📦 Project Scaffolding](https://code.visualstudio.com/docs/java/java-project#_maven) - Generate Maven projects from archetypes - Create new Maven projects with predefined templates - [📦 Maven Command Support](https://code.visualstudio.com/docs/java/java-build#_maven) - Execute Maven goals and phases - Custom Maven command execution - [📦 Dependency Management](https://code.visualstudio.com/docs/java/java-dependency#_working-with-jar-files) - Add dependencies to Maven projects - Search and browse Maven dependencies - [📦 Project Management](https://code.visualstudio.com/docs/java/java-project#_maven) - View Maven project structure - Navigate Maven project hierarchy ## Label When labeling an issue, follow the rules below per label category: ### General Rules - Analyze if the issue is related with the scope of using Maven for Java development. If not, STOP labelling IMMEDIATELY. - Assign label per category. - If a category is not applicable or you're unsure, you may skip it. - Do not assign multiple labels within the same category, unless explicitly allowed as an exception. ### Issue Type Labels - [bug]: Primary label for real bug issues - [enhancement]: Primary label for enhancement issues - [documentation]: Primary label for documentation issues - [question]: Primary label for question issues ================================================ FILE: .github/no-response.yml ================================================ daysUntilClose: 14 responseRequiredLabel: needs more info closeComment: > This issue has been closed automatically because it needs more information and has not had recent activity. Please reach out if you have or find the answers we need so that we can investigate further. ================================================ FILE: .github/workflows/ci.yml ================================================ name: UI test on: push: branches: [ main ] pull_request: branches: [ main ] # Minimal GITHUB_TOKEN scope: CI only needs to read source and write artifacts. # Artifact upload uses the upload-artifact action's own scope; no extra # permission is needed beyond contents: read. permissions: contents: read # Three stages: # build - one matrix job per OS does lint / compile / build-plugin / # vsce package, then uploads a tarball of the built workspace # (incl. node_modules + .vsix) so autotest jobs do not rebuild. # list-plans - a single Linux job runs scripts/list-autotest-plans.js # --matrix to emit the (os x plan) cartesian, honoring each # plan's platforms / skipPlatforms filter, and exposes it as # a matrix output. # autotest - one matrix job per (os, plan) entry, fail-fast: false. # Hydrates the workspace tarball produced by `build`, installs # the autotest CLI, runs strictly that one plan, and uploads a # per-(os, plan) artifact named # autotest-results--. jobs: build: name: Build (${{ matrix.os-name }}) strategy: fail-fast: false matrix: include: - os: ubuntu-latest os-name: linux artifact: build-linux - os: macos-latest os-name: macos artifact: build-macos - os: windows-latest os-name: windows artifact: build-windows runs-on: ${{ matrix.os }} timeout-minutes: 20 steps: - uses: actions/checkout@v4 - name: Setup Build Environment (Linux) if: matrix.os == 'ubuntu-latest' run: | sudo apt-get update sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libxss1 dbus xvfb libgtk-3-0 libgbm1 - name: Set up JDK 21 uses: actions/setup-java@v4 with: java-version: '21' distribution: 'adopt' - name: Setup Node.js environment uses: actions/setup-node@v4 with: node-version: 20 - name: Install Node.js modules run: npm install - name: Install VSCE run: npm install -g @vscode/vsce - name: Linting run: npm run tslint - name: TSC Compile run: npm run compile - name: Build OSGi bundle run: npm run build-plugin - name: Build VSIX file run: vsce package - name: Archive workspace shell: bash run: tar --exclude='./.git' --exclude='./workspace.tar' -cf workspace.tar . - name: Upload workspace artifact uses: actions/upload-artifact@v4 with: name: ${{ matrix.artifact }} path: workspace.tar if-no-files-found: error retention-days: 1 list-plans: name: Discover plans runs-on: ubuntu-latest outputs: matrix: ${{ steps.list.outputs.matrix }} steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 20 - id: list run: | MATRIX=$(node scripts/list-autotest-plans.js --matrix) echo "Discovered $(echo "$MATRIX" | python3 -c 'import json,sys;print(len(json.load(sys.stdin)))') matrix entries" echo "$MATRIX" | python3 -m json.tool echo "matrix=$MATRIX" >> "$GITHUB_OUTPUT" autotest: name: Autotest (${{ matrix.os-name }}) / ${{ matrix.plan }} needs: [build, list-plans] runs-on: ${{ matrix.os }} timeout-minutes: 30 strategy: fail-fast: false matrix: include: ${{ fromJSON(needs.list-plans.outputs.matrix) }} steps: - name: Setup Runtime Environment (Linux) if: matrix.os == 'ubuntu-latest' run: | sudo apt-get update sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libxss1 dbus xvfb libgtk-3-0 libgbm1 sudo /usr/bin/Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & sleep 3 - name: Set up JDK 21 uses: actions/setup-java@v4 with: java-version: '21' distribution: 'adopt' - name: Setup Node.js environment uses: actions/setup-node@v4 with: node-version: 20 - name: Download workspace artifact uses: actions/download-artifact@v4 with: name: ${{ matrix.artifact }} - name: Restore workspace shell: bash run: | tar -xf workspace.tar rm workspace.tar - name: Install autotest CLI run: npm install -g @vscjava/vscode-autotest - name: Run plan ${{ matrix.plan }} (Linux) if: matrix.os == 'ubuntu-latest' env: AZURE_OPENAI_API_KEY: ${{ secrets.AZURE_OPENAI_API_KEY }} AZURE_OPENAI_DEPLOYMENT: ${{ secrets.AZURE_OPENAI_DEPLOYMENT }} AZURE_OPENAI_ENDPOINT: ${{ secrets.AZURE_OPENAI_ENDPOINT }} run: xvfb-run -a autotest run test-plans/${{ matrix.plan }}.yaml - name: Run plan ${{ matrix.plan }} (macOS / Windows) if: matrix.os != 'ubuntu-latest' env: AZURE_OPENAI_API_KEY: ${{ secrets.AZURE_OPENAI_API_KEY }} AZURE_OPENAI_DEPLOYMENT: ${{ secrets.AZURE_OPENAI_DEPLOYMENT }} AZURE_OPENAI_ENDPOINT: ${{ secrets.AZURE_OPENAI_ENDPOINT }} run: autotest run test-plans/${{ matrix.plan }}.yaml - name: Write Job Summary if: always() shell: bash run: | if [ -f test-results/summary.md ]; then cat test-results/summary.md >> "$GITHUB_STEP_SUMMARY" fi - name: Upload autotest results if: always() uses: actions/upload-artifact@v4 with: name: autotest-results-${{ matrix.os-name }}-${{ matrix.plan }} path: test-results/ if-no-files-found: ignore retention-days: 14 - name: Print language server log (Linux) if: failure() && matrix.os == 'ubuntu-latest' run: find $HOME/.config/Code/User/workspaceStorage/*/redhat.java/jdt_ws/.metadata/.log -print -exec cat '{}' \;; - name: Print language server log (macOS) if: failure() && matrix.os == 'macos-latest' run: find $HOME/Library/Application\ Support/Code/User/workspaceStorage/*/redhat.java/jdt_ws/.metadata/.log -print -exec cat '{}' \;; - name: Print language server log (Windows) if: failure() && matrix.os == 'windows-latest' shell: pwsh run: Get-ChildItem -Path $env:APPDATA/Code/User/workspaceStorage/*/redhat.java/jdt_ws/.metadata/.log | cat ================================================ FILE: .github/workflows/no-response.yml ================================================ name: No Response # **What it does**: Closes issues where the original author doesn't respond to a request for information. # **Why we have it**: To remove the need for maintainers to remember to check back on issues periodically to see if contributors have responded. # **Who does it impact**: Everyone that works on docs or docs-internal. on: issue_comment: types: [created] schedule: # Schedule for five minutes after the hour, every hour - cron: '0 0 * * *' jobs: noResponse: runs-on: ubuntu-latest steps: - uses: lee-dohm/no-response@v0.5.0 with: token: ${{ github.token }} daysUntilClose: 14 # Number of days of inactivity before an Issue is closed for lack of response responseRequiredLabel: "needs more info" # Label indicating that a response from the original author is required closeComment: > This issue has been closed automatically because it needs more information and has not had recent activity. Please reach out if you have or find the answers we need so that we can investigate further. ================================================ FILE: .github/workflows/triage-agent.yml ================================================ name: AI Triage on: issues: types: [opened] workflow_dispatch: inputs: issue_number: description: 'Issue number to triage (manual run). e.g. 123' required: true run-name: >- AI Triage for Issue #${{ github.event.issue.number || github.event.inputs.issue_number }} permissions: issues: write contents: read jobs: label_and_comment: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 - name: Get issue data id: get_issue uses: actions/github-script@v6 with: script: | const eventName = context.eventName; let issue; if (eventName === 'workflow_dispatch') { const inputs = context.payload.inputs || {}; const issueNumber = inputs.issue_number || inputs.issueNumber; if (!issueNumber) core.setFailed('Input issue_number is required for manual run.'); const { data } = await github.rest.issues.get({ owner: context.repo.owner, repo: context.repo.repo, issue_number: parseInt(issueNumber, 10), }); issue = data; } else if (context.payload.issue) { issue = context.payload.issue; } else { core.setFailed('No issue information found in the event payload.'); } core.setOutput('id', String(issue.number)); core.setOutput('user', String((issue.user && issue.user.login) || '')); core.setOutput('title', String(issue.title || '')); core.setOutput('body', String(issue.body || '')); const labelNames = (issue.labels || []).map(label => label.name); core.setOutput('labels', JSON.stringify(labelNames)); - name: Call Azure Function id: call_azure_function env: PAYLOAD: >- { "authToken": "${{ secrets.GITHUB_TOKEN }}", "repoId": "microsoft/vscode-maven", "issueData": { "id": ${{ steps.get_issue.outputs.id }}, "user": ${{ toJson(steps.get_issue.outputs.user) }}, "title": ${{ toJson(steps.get_issue.outputs.title) }}, "body": ${{ toJson(steps.get_issue.outputs.body) }}, "labels": ${{ steps.get_issue.outputs.labels }} }, "mode": "DirectUpdate" } run: | # Make the HTTP request with improved error handling and timeouts echo "Making request to triage agent..." # Add timeout handling and better error detection set +e # Don't exit on curl failure response=$(timeout ${{ vars.TRIAGE_AGENT_TIMEOUT }} curl \ --max-time 0 \ --connect-timeout 30 \ --fail-with-body \ --silent \ --show-error \ --write-out "HTTPSTATUS:%{http_code}" \ --header "Content-Type: application/json" \ --request POST \ --data "$PAYLOAD" \ ${{ secrets.TRIAGE_FUNCTION_LINK }} 2>&1) curl_exit_code=$? set -e # Re-enable exit on error echo "Curl exit code: $curl_exit_code" # Check if curl command timed out or failed if [ $curl_exit_code -eq 124 ]; then echo "❌ Request timed out after 650 seconds" exit 1 elif [ $curl_exit_code -ne 0 ]; then echo "❌ Curl command failed with exit code: $curl_exit_code" echo "Response: $response" exit 1 fi # Extract HTTP status code and response body http_code=$(echo "$response" | grep -o "HTTPSTATUS:[0-9]*" | cut -d: -f2) response_body=$(echo "$response" | sed 's/HTTPSTATUS:[0-9]*$//') echo "HTTP Status Code: $http_code" # Validate HTTP status code if [ -z "$http_code" ]; then echo "❌ Failed to extract HTTP status code from response" echo "Raw response: $response" exit 1 fi # Check if the request was successful if [ "$http_code" -ge 200 ] && [ "$http_code" -lt 300 ]; then echo "✅ Azure Function call succeeded" else echo "❌ Azure Function call failed with status code: $http_code" echo "Response: $response_body" exit 1 fi ================================================ FILE: .github/workflows/triage-all-open-issues.yml ================================================ name: AI Triage - Process All Open Issues on: workflow_dispatch: inputs: dry_run: description: 'Dry run mode - only list issues without processing' required: false default: false type: boolean max_issues: description: 'Maximum number of issues to process (0 = all)' required: false default: '0' type: string permissions: issues: write contents: read actions: write jobs: get_open_issues: runs-on: ubuntu-latest outputs: issue_numbers: ${{ steps.get_issues.outputs.issue_numbers }} total_count: ${{ steps.get_issues.outputs.total_count }} steps: - name: Get all open issues id: get_issues uses: actions/github-script@v6 with: script: | // Use Search API to filter issues at API level const { data } = await github.rest.search.issuesAndPullRequests({ q: `repo:${context.repo.owner}/${context.repo.repo} is:issue is:open -label:ai-triaged -label:invalid`, sort: 'created', order: 'asc', per_page: 100 }); const actualIssues = data.items; let issuesToProcess = actualIssues; const maxIssues = parseInt('${{ inputs.max_issues }}' || '0'); if (maxIssues > 0 && actualIssues.length > maxIssues) { issuesToProcess = actualIssues.slice(0, maxIssues); console.log(`Limiting to first ${maxIssues} issues out of ${actualIssues.length} total`); } const issueNumbers = issuesToProcess.map(issue => issue.number); const totalCount = issuesToProcess.length; console.log(`Found ${actualIssues.length} open issues, processing ${totalCount}:`); issuesToProcess.forEach(issue => { console.log(` #${issue.number}: ${issue.title}`); }); core.setOutput('issue_numbers', JSON.stringify(issueNumbers)); core.setOutput('total_count', totalCount); process_issues: runs-on: ubuntu-latest needs: get_open_issues if: needs.get_open_issues.outputs.total_count > 0 strategy: # Process issues one by one (max-parallel: 1) max-parallel: 1 matrix: issue_number: ${{ fromJSON(needs.get_open_issues.outputs.issue_numbers) }} steps: - name: Log current issue being processed run: | echo "🔄 Processing issue #${{ matrix.issue_number }}" echo "Total issues to process: ${{ needs.get_open_issues.outputs.total_count }}" - name: Check if dry run mode if: inputs.dry_run == true run: | echo "🔍 DRY RUN MODE: Would process issue #${{ matrix.issue_number }}" echo "Skipping actual triage processing" - name: Trigger triage workflow for issue if: inputs.dry_run != true uses: actions/github-script@v6 with: script: | const issueNumber = '${{ matrix.issue_number }}'; try { console.log(`Triggering triage workflow for issue #${issueNumber}`); const response = await github.rest.actions.createWorkflowDispatch({ owner: context.repo.owner, repo: context.repo.repo, workflow_id: 'triage-agent.yml', ref: 'main', inputs: { issue_number: issueNumber } }); console.log(`✅ Successfully triggered triage workflow for issue #${issueNumber}`); } catch (error) { console.error(`❌ Failed to trigger triage workflow for issue #${issueNumber}:`, error); core.setFailed(`Failed to process issue #${issueNumber}: ${error.message}`); } - name: Wait for workflow completion if: inputs.dry_run != true run: | echo "⏳ Waiting for triage workflow to complete for issue #${{ matrix.issue_number }}..." echo "Timeout: ${{ vars.TRIAGE_AGENT_TIMEOUT }} seconds" sleep ${{ vars.TRIAGE_AGENT_TIMEOUT }} # Wait for triage workflow completion summary: runs-on: ubuntu-latest needs: [get_open_issues, process_issues] if: always() steps: - name: Print summary run: | echo "## Triage Processing Summary" echo "Total open issues found: ${{ needs.get_open_issues.outputs.total_count }}" if [ "${{ inputs.dry_run }}" == "true" ]; then echo "Mode: DRY RUN (no actual processing performed)" else echo "Mode: FULL PROCESSING" fi if [ "${{ needs.process_issues.result }}" == "success" ]; then echo "✅ All issues processed successfully" elif [ "${{ needs.process_issues.result }}" == "failure" ]; then echo "❌ Some issues failed to process" elif [ "${{ needs.process_issues.result }}" == "skipped" ]; then echo "⏭️ Processing was skipped (no open issues found)" else echo "⚠️ Processing completed with status: ${{ needs.process_issues.result }}" fi ================================================ FILE: .github/workflows/unit-tests.yml ================================================ name: Unit Tests on: push: branches: [ main ] pull_request: branches: [ main ] jobs: unit: name: Unit Tests (${{ matrix.os }}) runs-on: ${{ matrix.os }} timeout-minutes: 10 strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] steps: - uses: actions/checkout@v4 - name: Setup Node.js environment uses: actions/setup-node@v4 with: node-version: 20 - name: Install Node.js modules run: npm install - name: Run unit tests run: npm run test:unit ================================================ FILE: .gitignore ================================================ out node_modules .vscode-test/ *.vsix yarn.lock *.log .gradle/ .DS_Store .test dist server # prevents updating maven indexer files resources/IndexData/index/*.cfe resources/IndexData/index/*.cfs resources/IndexData/index/*.si resources/IndexData/index/segments* .vs/* *.jar *.tgz AGENTS.md test-results/ .env ================================================ FILE: .mocharc.json ================================================ { "require": "ts-node/register/transpile-only", "spec": "test/unit/**/*.test.ts", "extension": ["ts"], "timeout": 15000, "reporter": "spec" } ================================================ FILE: .vscode/launch.json ================================================ // A launch configuration that compiles the extension and then opens it inside a new window { "version": "0.1.0", "configurations": [ { "name": "Extension", "type": "extensionHost", "request": "launch", "runtimeExecutable": "${execPath}", "args": [ "${workspaceFolder}/test/projects/maven", "--extensionDevelopmentPath=${workspaceFolder}", ], "outFiles": [ "${workspaceFolder}/dist/**/*.js" ], "preLaunchTask": "npm: watch" }, { "name": "Extension", "type": "extensionHost", "request": "launch", "runtimeExecutable": "${execPath}", "args": [ "${workspaceFolder}/test/projects/multi-module", "--extensionDevelopmentPath=${workspaceFolder}", ], "outFiles": [ "${workspaceFolder}/dist/**/*.js" ], "preLaunchTask": "npm: watch" }, { "name": "Extension Tests - Maven Project", "type": "extensionHost", "request": "launch", "runtimeExecutable": "${execPath}", "args": [ "${workspaceFolder}/test/projects/maven/", "--extensionDevelopmentPath=${workspaceFolder}", "--extensionTestsPath=${workspaceFolder}/out/test/maven-suite/index" ], "stopOnEntry": false, "sourceMaps": true, "outFiles": [ "${workspaceFolder}/out/**/*.js" ], "preLaunchTask": "npm: compile" }, { "type": "java", "name": "Attach to jdtls.ext", "request": "attach", "hostName": "localhost", "port": 1044 } ] } ================================================ FILE: .vscode/settings.json ================================================ // Place your settings in this file to overwrite default and user settings. { "files.exclude": { "out": true, // set this to true to hide the "out" folder with the compiled JS files "dist": true }, "search.exclude": { "dist": true, "out": true // set this to false to include "out" folder in search results }, "java.configuration.updateBuildConfiguration": "automatic", "java.import.exclusions": [ "**/node_modules/**", "**/.metadata/**", "**/archetype-resources/**", "**/test/**", "**/META-INF/maven/**" ] } ================================================ FILE: .vscode/tasks.json ================================================ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format { "version": "2.0.0", "tasks": [ { "type": "npm", "script": "watch", "problemMatcher": { "owner": "typescript", "pattern":[ { "regexp": "\\[tsl\\] ERROR", "file": 1, "location": 2, "message": 3 } ], "background": { "activeOnStart": true, "beginsPattern": "\\w+", "endsPattern": "webpack .* compiled" } }, "isBackground": true, "presentation": { "reveal": "never" }, "group": { "kind": "build", "isDefault": true } } ] } ================================================ FILE: .vscodeignore ================================================ .vscode/** .vscode-test/** dist/**/*.map src/** images/** .gitignore tsconfig.json TestPlan.md .github/** .travis.yml webpack.*.js node_modules out/** test/** extension.bundle.ts javaConfig.json gulpfile.js jdtls.ext/** !jdtls.ext/com.microsoft.java.maven.plugin/target/com.microsoft.java.maven.plugin-*.jar .azure-pipelines scripts ================================================ FILE: CHANGELOG.md ================================================ # Change Log All notable changes to the "vscode-maven" extension will be documented in this file. ## 0.45.3 ### Fixed - Improve workspace configuration handling for Maven executable settings [#1152](https://github.com/microsoft/vscode-maven/pull/1152) ## 0.45.2 ### Fixed - Fix terminal handler to also setup custom environment variables before calling Maven [#1141](https://github.com/microsoft/vscode-maven/pull/1141) - Maven dependencies fail to generate dependency graph [#1131](https://github.com/microsoft/vscode-maven/pull/1131) ## 0.45.1 ### Fixed - revert problem matchers to fix the execute in terminal file usage issue [#1119](https://github.com/microsoft/vscode-maven/issues/1119) ## 0.45.0 ### Added - VS Code Extension contribute to ProblemMatcher [#1098](https://github.com/microsoft/vscode-maven/issues/1098) - Add optional goal parameter for maven.goal.custom command [#1108](https://github.com/microsoft/vscode-maven/pull/1108) - maven.executable.options configuration as list of strings [#981](https://github.com/microsoft/vscode-maven/issues/981) ### Fixed - Fail to disable profile because shell interprets the '!' character [#995](https://github.com/microsoft/vscode-maven/issues/995) ### Changed - Reload pom contents as needed before finding parent POMs [#956](https://github.com/microsoft/vscode-maven/pull/956) ## 0.44.0 ### Added - add new project as module of existing project via 'New Module...' command. [#849](https://github.com/microsoft/vscode-maven/issues/849). ## 0.43.0 ### Changed - Merge "Refresh" and "Reload All Maven Projects" menus into a single menu "Reload All Maven Projects". [#997](https://github.com/microsoft/vscode-maven/pull/997). ### Fixed - Create Java Project -> JavaFX does not create a JavaFX project. [#1003](https://github.com/microsoft/vscode-maven/issues/1003). ## 0.42.0 ### Added - Add creating empty maven project without archetypes. [#869](https://github.com/microsoft/vscode-maven/issues/869) ### Changed - Remove Marketplace preview flag. [#987](https://github.com/microsoft/vscode-maven/pull/987) ### Fixed - Improve navigation of parent POM. [#959](https://github.com/microsoft/vscode-maven/pull/959) - Maven explorer failed to list profiles within maven-help-plugin@3.4.0. [#964](https://github.com/microsoft/vscode-maven/issues/964) ## 0.41.0 ### Added - Support to navigate to POM file of modules. [#949](https://github.com/microsoft/vscode-maven/pull/949) - Support to navigate to parent POM file. [#952](https://github.com/microsoft/vscode-maven/pull/952) - Add profile support in Maven explorer. [#956](https://github.com/microsoft/vscode-maven/pull/956) ### Changed - Group common lifecycle phases into a submenu of the context menu. [#954](https://github.com/microsoft/vscode-maven/pull/954) ## 0.40.4 ### Fixed - Missing "Resolve Unknow Type" feature when Language Support for Java was upgraded to v1.14.0. [#932](https://github.com/microsoft/vscode-maven/issues/932) ## 0.40.3 ### Fixed - Cannot navigate to POM of dependencies when `localRepository` is specified in settings.xml. [#924](https://github.com/microsoft/vscode-maven/issues/924) ## 0.40.2 ### Fixed - [CVE-2022-42889](https://github.com/advisories/GHSA-599f-7c49-w659) - Documentation on tag hover duplicates with the XML extension's implementation. [#918](https://github.com/microsoft/vscode-maven/issues/918) - Incorrect invocation of the command when debugging plugin goal. [#913](https://github.com/microsoft/vscode-maven/issues/913) ## 0.40.1 ### Fixed - Regression on running plugin goals, where prefix is missing. [#910](https://github.com/microsoft/vscode-maven/issues/910) ## 0.40.0 ### Added - Created a new FavoritesMenu. This menu allows shortcuts to execute the favorite commands. [#884](https://github.com/microsoft/vscode-maven/issues/884) - Created a UI to add favorites into the user workspace scope. [#901](https://github.com/microsoft/vscode-maven/issues/901) ### Changed - Improve performance of fetching plugin goals when expanding plugin node in Maven explorer. [#903](https://github.com/microsoft/vscode-maven/pull/903) ## 0.39.2 ### Fixed - Input boxes freeze when value is invalid, since VS Code v1.73.0. [#896](https://github.com/microsoft/vscode-maven/issues/896) ## 0.39.1 ### Fixed - Error "Failed to find dependency" when dependency conflict exists. [#815](https://github.com/microsoft/vscode-maven/issues/815)[#883](https://github.com/microsoft/vscode-maven/pull/883) ## 0.39.0 ### Added - Can filter artifacts with group Id when adding a dependency. [#877](https://github.com/microsoft/vscode-maven/pull/877) ### Changed - Update depgraph-maven-plugin to 4.0.2, which is used to calculate dependencies. [#867](https://github.com/microsoft/vscode-maven/pull/867) ### Fixed - Error: UriError path cannot begin with two slash characters. [#817](https://github.com/microsoft/vscode-maven/issues/817) - Wrongly recongnize Git Bash as WSL when it's not installed on default location. [#874](https://github.com/microsoft/vscode-maven/issues/874) ## 0.38.0 ### Added - Support Maven schema-based completion for pom.xml files. [#857](https://github.com/microsoft/vscode-maven/pull/857) ### Fixed - Show correct version when inherited from parent projects. [#851](https://github.com/microsoft/vscode-maven/pull/851) ## 0.37.0 ### Added - Better completion for properties. [#843](https://github.com/microsoft/vscode-maven/issues/843) - Shortcut to reload all Maven projects. [#847](https://github.com/microsoft/vscode-maven/pull/847) - New setting `maven.explorer.projectName` to customize format of project node name. [#834](https://github.com/microsoft/vscode-maven/pull/834) ### Fixed - Wrong completion range in pom.xml. [#842](https://github.com/microsoft/vscode-maven/pull/842) - Error: `mainThreadExtensionService.ts:80 TypeError: r is not iterable` when opening multi-module projects. [#839](https://github.com/microsoft/vscode-maven/pull/839) ## 0.36.0 ### Changed - Replace `xml-zero-lexer` with `htmlparser2` as the parser of pom.xml files. [#822](https://github.com/microsoft/vscode-maven/pull/822) - Follow upstream change to build JDTLS plugin with JDK 17. [#824](https://github.com/microsoft/vscode-maven/pull/824) ## 0.35.2 ### Fixed - Error "Failed to find dependency" when dependency conflict exists. [#815](https://github.com/microsoft/vscode-maven/issues/815) - Wrong icon of view-switching buttons. [#814](https://github.com/microsoft/vscode-maven/pull/814) ## 0.35.1 ### Added - Add shortcut for `test-compile` lifecycle. [#798](https://github.com/microsoft/vscode-maven/pull/798) - Add tooltip showing path of POM file. [#799](https://github.com/microsoft/vscode-maven/pull/799) ### Fixed - Fix completion of version. [#796](https://github.com/microsoft/vscode-maven/pull/796) ## 0.35.0 ### Added - Enable external call from other extensions to add dependencies. [#743](https://github.com/microsoft/vscode-maven/pull/743) - Enable external call from other extensions to create Maven projects. [#775](https://github.com/microsoft/vscode-maven/pull/775) ### Fixed - Custom options were not passed to the command line when creating new projects. [#771](https://github.com/microsoft/vscode-maven/issues/771) - Failed to attach to remote debuggee VM when debugging a Maven goal. [#757](https://github.com/microsoft/vscode-maven/issues/757) - Setting `maven.settingsFile` was not honored when executing Maven commands. [#776](https://github.com/microsoft/vscode-maven/pull/776) - StackOverflowException when there exists circular dependencies in projects. [#763](https://github.com/microsoft/vscode-maven/issues/763) ## 0.34.2 ### Fixed - `Maven: Add a dependency` not working. [#766](https://github.com/microsoft/vscode-maven/issues/766) ## 0.34.1 ### Fixed - Update command for workspace trust management. [#749](https://github.com/microsoft/vscode-maven/pull/749) - Update third party notices. [#751](https://github.com/microsoft/vscode-maven/pull/751) ## 0.34.0 ### Added - Add command to navigate between conflict dependencies. [#672](https://github.com/microsoft/vscode-maven/issues/672) - New localization: Chinese (Traditional). [#727](https://github.com/microsoft/vscode-maven/pull/727) ### Changed - Open POM file under local repository in readonly mode. [#718](https://github.com/microsoft/vscode-maven/issues/718) - Improve performance on fetching plugin information. [#714](https://github.com/microsoft/vscode-maven/issues/714) ## 0.33.0 ### Added - New entry to `Run` lifecycle phases from context menu. [#700](https://github.com/microsoft/vscode-maven/issues/700) - New setting `maven.projectOpenBehavior` specifying default way to open newly created project. [#662](https://github.com/microsoft/vscode-maven/issues/662) ### Fixed - Bugs fixes and improvements related to dependency management. - Unified icons. [#707](https://github.com/microsoft/vscode-maven/issues/707) - New setting `maven.dependency.enableConflictDiagnostics` specifying whether to show diagnostics for dependency conflicts. [#677](https://github.com/microsoft/vscode-maven/issues/677) ## 0.32.2 ### Fixed - Failed to create project when an empty workspace is opened. [#689](https://github.com/microsoft/vscode-maven/issues/689) - Malformed dependency node was inserted when pom.xml is dirty. [#690](https://github.com/microsoft/vscode-maven/pull/690) [#691](https://github.com/microsoft/vscode-maven/pull/691) ## 0.32.1 ### Fixed - A text file was wrongly created in workspace when calculating depenencies. ## 0.32.0 ### Added - [Preview] Improve dependency management experience. [#261](https://github.com/microsoft/vscode-maven/issues/261) - Visualize dependencies in Maven explorer. - Resolve dependency conflicts. ### Changed - Present Effective POMs better with content provider API. [#680](https://github.com/microsoft/vscode-maven/pull/680) ### Fixed - Environment varibles not loaded on calculating effective POM. [#637](https://github.com/microsoft/vscode-maven/issues/637) - Effective POM was not update-to-date. [#681](https://github.com/microsoft/vscode-maven/pull/681) ## 0.31.0 ### Added - Add code action `add a dependency` when cursor is within `` node. [#634](https://github.com/microsoft/vscode-maven/pull/634) ### Fixed - Fixed error when executing "Custom..." or "Favorites..." from command palette. [#628](https://github.com/microsoft/vscode-maven/pull/628) - Fixed missing entries when resolving unknown types. [#638](https://github.com/microsoft/vscode-maven/pull/638) ## 0.30.1 ### Fixed - Fixed Maven project creation on Windows. [#623](https://github.com/microsoft/vscode-maven/issues/623) ## 0.30.0 ### Changed - Improved user experience for Maven project creation. [#604](https://github.com/microsoft/vscode-maven/issues/604) ### Fixed - Archetype catalog could not be update. [#618](https://github.com/microsoft/vscode-maven/pull/618) ## 0.29.0 ### Added - Add shortcuts for common lifecycle phases into Maven explorer. [#601](https://github.com/microsoft/vscode-maven/pull/601) - Add a new setting `maven.settingsFile` to specify location of settings.xml file. [#581](https://github.com/microsoft/vscode-maven/pull/581) ### Changed - Only generate effective POMs on demand to improve overall performance. [#579](https://github.com/microsoft/vscode-maven/issues/579) - Display project name, groupId, artifactId in Maven explorer. [#590](https://github.com/microsoft/vscode-maven/issues/590) ### Fixed - Fix auto-completion for `version` section. [#594](https://github.com/microsoft/vscode-maven/issues/594) - Fix auto-completion for `dependency` section when Java extension is working in lightweight mode. [#598](https://github.com/microsoft/vscode-maven/issues/598) - Fix remote code execution vulnerability. [CVE-2021-28472](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-28472). ## 0.28.0 - Update extension icons. [#578](https://github.com/microsoft/vscode-maven/pull/578) - Exclude POMs in `archetype-resources` folder by default. [#580](https://github.com/microsoft/vscode-maven/issues/580) - Update setting `maven.terminal.customEnv` to only affect commands sent to terminal. [#584](https://github.com/microsoft/vscode-maven/pull/584) (Fix for [CVE-2021-27084](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-27084)) ## 0.27.1 - Refine conceptual title of Maven explorer. [#567](https://github.com/microsoft/vscode-maven/pull/567) - Improve UX of dependencies navigation. [#571](https://github.com/microsoft/vscode-maven/pull/571) [#572](https://github.com/microsoft/vscode-maven/pull/572) [#573](https://github.com/microsoft/vscode-maven/pull/573) ## 0.27.0 - Support to navigate to dependency POM file with `Ctrl/Cmd + Click`. [#562](https://github.com/microsoft/vscode-maven/pull/562) - Use a unified command to create projects if Project Manager for Java is enabled. [#488](https://github.com/microsoft/vscode-maven/pull/488) - Align with VS Code native UX. [#560](https://github.com/microsoft/vscode-maven/pull/560) ## 0.26.0 #### Changed - Hide Maven Explorer for non-Maven workspaces. [#549](https://github.com/microsoft/vscode-maven/issues/549) - No longer activate extension on opening xml files. [#555](https://github.com/microsoft/vscode-maven/pull/555) #### Fixed - Fix an error creating temporary directory for Remote-SSH scenario with multiple users. [#547](https://github.com/microsoft/vscode-maven/issues/547) - Fix title of wizard for creating a project. [#551](https://github.com/microsoft/vscode-maven/issues/551) ## 0.25.0 #### Changed - Allow users to hide the "Create Maven Project" entry in File Explorer. [#536](https://github.com/microsoft/vscode-maven/pull/536) - Move "Open POM file" into context menu in Project Manager Explorer. [#541](https://github.com/microsoft/vscode-maven/pull/541) #### Fixed - Fix "Resolve unknown type" command when folder path contains whitespaces. [#535](https://github.com/microsoft/vscode-maven/pull/535) - Fix path conversion when using WSL as default integrated terminal. [#542](https://github.com/microsoft/vscode-maven/pull/542) ## 0.24.2 #### Added - Register entries for commands in Project Manager extension. - Add a dependency. [#529](https://github.com/microsoft/vscode-maven/pull/529) - Open POM file. [#530](https://github.com/microsoft/vscode-maven/pull/530) - Execute Maven Commands... [#531](https://github.com/microsoft/vscode-maven/pull/531) ## 0.24.1 #### Changed - Change `maven.executable.options` to `machine-overridable` scope. - Change `maven.executable.preferMavenWrapper` to `resource` scope. ## 0.24.0 #### Added - Add back buttons to the project creation wizard. [#520](https://github.com/microsoft/vscode-maven/pull/520) #### Fixed - Settings `maven.executable.*` are now limited to machine scope. Fix for [CVE-2020-0604](https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/CVE-2020-0604). ## 0.23.0 #### Changed - Rename project explorer. [#512](https://github.com/microsoft/vscode-maven/pull/512) - Skip project selection when there is only one project. [#516](https://github.com/microsoft/vscode-maven/pull/516) #### Fixed - Fix: terminals were wrongly closed. [#513](https://github.com/microsoft/vscode-maven/pull/513) ## 0.22.0 #### Added - Better support for PowerShell. [#494](https://github.com/microsoft/vscode-maven/pull/494) #### Changed - Keep the cache file of effective pom for diagnosis. [#319](https://github.com/microsoft/vscode-maven/issues/319#issuecomment-601494862) #### Fixed - Fix: mvnw was not identified if .mvn folder doesn't exist. [#504](https://github.com/microsoft/vscode-maven/issues/504) - Fix: notification "Maven executable not found in PATH" pops up for multiple times. [#501](https://github.com/microsoft/vscode-maven/issues/501) - Fix: tilde was not expanded as home directory in unix-like systems. [#507](https://github.com/microsoft/vscode-maven/pull/507) - Fix: Maven output didn't write to the integrated terminal window. [#489](https://github.com/microsoft/vscode-maven/issues/489) ## 0.21.4 #### Fixed - Set custom environment variables in folder level. [#487](https://github.com/microsoft/vscode-maven/issues/487) - Better support for PowerShell Core. [#492](https://github.com/microsoft/vscode-maven/issues/492) ## 0.21.3 #### Fixed - Update dependencies to fix vulnerability issues. [#481](https://github.com/microsoft/vscode-maven/pull/481) [#491](https://github.com/microsoft/vscode-maven/pull/491) ## 0.21.2 #### Fixed - Destination folder was ingored when creating new project. [#478](https://github.com/microsoft/vscode-maven/issues/478) ## 0.21.1 #### Changed - Reuse VS Code's icons. [#469](https://github.com/microsoft/vscode-maven/pull/469) #### Fixed - Terminals were opened in the wrong workspace root folder. [#467](https://github.com/microsoft/vscode-maven/issues/467) - `NoClassDefFoundError` occurred when resolving unknown types. [#474](https://github.com/microsoft/vscode-maven/issues/474) ## 0.21.0 #### Added - Support to debug favorite commands. [#444](https://github.com/microsoft/vscode-maven/issues/444) - Add shortcut to view output when error occurs. [PR#458](https://github.com/microsoft/vscode-maven/pull/458) - Support to browse to select local Maven executable if not found. [PR#457](https://github.com/microsoft/vscode-maven/pull/457) #### Changed - Remove unnecessary prefix `cmd /c` for powershell commands. [#452](https://github.com/microsoft/vscode-maven/issues/452) - Walk up parent folders to find available Maven wrapper. [#PR460](https://github.com/microsoft/vscode-maven/pull/460) #### Fixed - Projects were not indexed when adding a folder to current workspace. [#453](https://github.com/microsoft/vscode-maven/issues/453) ## 0.20.2 #### Fixed - Improve exposure of command "resolve unknown types". [PR#448](https://github.com/microsoft/vscode-maven/pull/448) ## 0.20.1 #### Fixed - Insert the dependency into the wrong position when resolving unknown types. [#441](https://github.com/microsoft/vscode-maven/issues/441) ## 0.20.0 #### Added - Support to "Collapse All" in Maven explorer. [PR#414](https://github.com/microsoft/vscode-maven/pull/414) - Support to specify the project for command "Maven: Add a dependency". [PR418](https://github.com/microsoft/vscode-maven/pull/418) #### Changed - Update related icons in Maven explorer. [PR#425](https://github.com/microsoft/vscode-maven/pull/425) - Upgrade embeded maven wrapper to 3.6.2. [PR#416](https://github.com/microsoft/vscode-maven/pull/416) #### Fixed - Java extension was unnecessarily activated. [#424](https://github.com/microsoft/vscode-maven/issues/424) - Projects were not identified before expanding the Maven explorer. [#429](https://github.com/microsoft/vscode-maven/issues/429) ## 0.19.1 #### Added - Provide more completion suggestions for groupId and artifactId on POM file authoring. [PR#404](https://github.com/microsoft/vscode-maven/pull/404) #### Fixed - No candidates when resolving unknown types. [PR#405](https://github.com/microsoft/vscode-maven/pull/405) ## 0.19.0 #### Added - Add inline action buttons in Maven explorer. - Add icons for Maven explorer items. [PR#397](https://github.com/microsoft/vscode-maven/pull/397) - Can add dependencies when hovering on unresolved types. [PR#391](https://github.com/microsoft/vscode-maven/pull/391) #### Fixed - Cannot show dependencies. - Expanded plugin nodes tend to collapse after loading. [#364](https://github.com/microsoft/vscode-maven/issues/364) ## 0.18.2 #### Fixed - Typo in Hover information. [#368](https://github.com/microsoft/vscode-maven/issues/368) - Unexpected error log on first use. [#358](https://github.com/microsoft/vscode-maven/issues/358) - Switch to use new VS Code API (v1.37+) to get default shell. [#337](https://github.com/microsoft/vscode-maven/issues/337) Thank [Christian Lutz @thccorni](https://github.com/thccorni) for contribution. ## 0.18.1 #### Fixed - Cannot show plugin goals. [#340](https://github.com/microsoft/vscode-maven/issues/340) ## 0.18.0 #### Added - For Maven project creation: - Fallback to use an embedded Maven wrapper if no availble Maven executable is found. [PR#344](https://github.com/microsoft/vscode-maven/pull/344) - Support to select archetype version. [#354](https://github.com/microsoft/vscode-maven/issues/354) - Refresh explorer when config `maven.pomfile.globPattern` changes. [#334](https://github.com/microsoft/vscode-maven/issues/334) #### Changed - Change command name "Generate from Maven Archetype" to "Create Maven Project" for clarity. [#345](https://github.com/microsoft/vscode-maven/issues/345) ## 0.17.1 #### Fixed - Provide a workaround for default shell detection. [#319](https://github.com/microsoft/vscode-maven/issues/319) ## 0.17.0 #### Added - Add new config `maven.pomfile.globPattern`, which specifies how the extension searchs for POM files. [#316](https://github.com/microsoft/vscode-maven/issues/316) - Add new config `maven.pomfile.autoUpdateEffectivePOM`, which specifies whether to update Effective-POM automatically. [#319](https://github.com/microsoft/vscode-maven/issues/319) #### Fixed - Unexpected insertion of code snippets. [#310](https://github.com/microsoft/vscode-maven/issues/310) - A bug that Maven `localRepository` setting was not effective. [#322](https://github.com/microsoft/vscode-maven/issues/322) - Cannot create Maven project when target directory has brackets and default shell is PowerShell. [#324](https://github.com/microsoft/vscode-maven/issues/324) Thank [Justin Ridgewell (@jridgewell)](https://github.com/jridgewell) for the contributions to make the extension even better. ## 0.16.2 #### Fixed - A regression issue which blocks auto-completion for pom files. [#311](https://github.com/Microsoft/vscode-maven/issues/311) ## 0.16.1 #### Fixed - An error on calculating effective pom when there is whitespace in project path. [#304](https://github.com/Microsoft/vscode-maven/issues/304) - A bug which causes to retry calculating effective pom all the time. [#296](https://github.com/Microsoft/vscode-maven/issues/296) ## 0.16.0 #### Added - Support to debug a plugin goal. - The feature is designed for debugging code of the plugin goal itself. It can also debug Java classes loaded in the same JVM. - Debugging Java classes loaded by a forked process is not supported. E.g. when `devtools` is present, breakpoints in application code will not be hit when debugging `spring-boot:run` according to [its docs](https://docs.spring.io/spring-boot/docs/current/maven-plugin/run-mojo.html#fork). - Add a shortcut to show dependency tree. #### Fixed - Fix miscellaneous minor issues by enabling TS strict null check. ## 0.15.2 #### Fixed - A potential NPE when no folder is open. [#279](https://github.com/Microsoft/vscode-maven/issues/279) ## 0.15.1 #### Fixed - Errors on executing some commands when there is no open workspace. [#274](https://github.com/Microsoft/vscode-maven/issues/274) [#277](https://github.com/Microsoft/vscode-maven/issues/277) - Missing description for favorite commands configuration. [PR#275](https://github.com/Microsoft/vscode-maven/pull/275) ## 0.15.0 #### Added - Allow to specify and execute "favorite" Maven commands. [#72](https://github.com/Microsoft/vscode-maven/issues/72) [#259](https://github.com/Microsoft/vscode-maven/issues/259) - Hover to show effective version of a dependency. [#260](https://github.com/Microsoft/vscode-maven/issues/260) - Add a command "Maven: Add a dependency" for convenience when editing pom.xml. [#253](https://github.com/Microsoft/vscode-maven/issues/253) ## 0.14.2 #### Fixed - Use a simple and robust way to inject custom environment variables into terminals. [PR#240](https://github.com/Microsoft/vscode-maven/pull/240) - Fix a regression of executing custom goals from command palette. [#243](https://github.com/Microsoft/vscode-maven/issues/243) ## 0.14.1 #### Fixed - Fix the order of completion items for non-semantic versions. [#236](https://github.com/Microsoft/vscode-maven/issues/236) - Fix the issue that extension is not activated when opening an external pom.xml file. [#232](https://github.com/Microsoft/vscode-maven/issues/232) ## 0.14.0 #### Added - Provide completion suggestions leveraging info from both local and central repository. [#195](https://github.com/Microsoft/vscode-maven/issues/195) #### Fixed - Fix the issue that mvn help:describe keeps grabbing the focus in MacOSX. [#214](https://github.com/Microsoft/vscode-maven/issues/214) - Fix WSL file path conversion when the root is changed in `wsl.conf`. [#206](https://github.com/Microsoft/vscode-maven/issues/206) ## 0.13.0 - Support to switch between hierarchical and flat view of modules. [#193](https://github.com/Microsoft/vscode-maven/issues/193) - Support to complete dependencies when editing pom.xml file. [#195](https://github.com/Microsoft/vscode-maven/issues/195) - It is disabled by default, enable it by setting the value of `maven.completion.enabled` to `true`. - The dependency candidates are from the local Maven repository. ## 0.12.1 - Chinese localization: Add a whitespace between English and Chinese characters. [#184](https://github.com/Microsoft/vscode-maven/issues/184) - Add a shortcut in Maven explorer to generate projects. [PR#190](https://github.com/Microsoft/vscode-maven/pull/190) ## 0.12.0 - Support to view and execute plugin goals. [#126](https://github.com/Microsoft/vscode-maven/issues/126) - Change icons of Maven project nodes. [PR#181](https://github.com/Microsoft/vscode-maven/pull/181) - Add Chinese localization. [#146](https://github.com/Microsoft/vscode-maven/issues/146) ## 0.11.3 - Fix vulnerability issue of event-stream. [PR#154](https://github.com/Microsoft/vscode-maven/pull/154) ## 0.11.2 - Better support for WSL. [PR#143](https://github.com/Microsoft/vscode-maven/pull/143) by [@RobertDeRose](https://github.com/RobertDeRose) - Add Chinese localization for configuration entries and command names. [PR#147](https://github.com/Microsoft/vscode-maven/pull/147) - Fix wording in documents. Thank [@RobertDeRose](https://github.com/RobertDeRose), [@johanhammar](https://github.com/johanhammar) and [@apupier](https://github.com/apupier) for the contribution. ## 0.11.1 - Use the latest version of vscode-extension-telemetry dependency. [#135](https://github.com/Microsoft/vscode-maven/issues/135) ## 0.11.0 - Sort Maven projects alphabetically in Explorer. [PR#118](https://github.com/Microsoft/vscode-maven/pull/118) by @owenconti - Adjust order of steps when generating projects from an archetype. [#122](https://github.com/Microsoft/vscode-maven/issues/122) - Open trouble-shooting page in browser.[PR#131](https://github.com/Microsoft/vscode-maven/pull/131) - Fixed some bugs. Thank [Owen Conti (@owenconti)](https://github.com/owenconti) for the help to make the extension even better. ## 0.10.0 - Supported to hide Maven explorer view by default. [#51](https://github.com/Microsoft/vscode-maven/issues/51) - Started to use a separate terminal for each root folder. [#68](https://github.com/Microsoft/vscode-maven/pull/87) - Improved performance of searching for pom.xml [#77](https://github.com/Microsoft/vscode-maven/issues/77) - Started to includes Maven archetypes in local catalog when generating projects. [#82](https://github.com/Microsoft/vscode-maven/issues/82) - Forced to use mvn wrapper as Maven executable file if one is found in root folder, and added a new configuration `maven.executable.preferMavenWrapper` allowing to turn it off. [#84](https://github.com/Microsoft/vscode-maven/issues/84) [#105](https://github.com/Microsoft/vscode-maven/pull/105) - Refined command `maven.history` to re-run historical goals.[#87](https://github.com/Microsoft/vscode-maven/issues/87) - Started to use "cmd /c" to execute Maven commands for PowerShell.[#112](https://github.com/Microsoft/vscode-maven/pull/112) - Supported to update explorer automatically when workspace folders change. [#27](https://github.com/Microsoft/vscode-maven/issues/27) - Some code refactoring and bug fixing. ## 0.9.2 - Fixed bug of using `./mvnw` as maven executable. ## 0.9.1 - Fetch list of popular archetypes on the fly. [#63](https://github.com/Microsoft/vscode-maven/pull/63) - Guide users to setup correct mvn executable path when error occurs. [#66](https://github.com/Microsoft/vscode-maven/pull/66) - Fixed some bugs. ## 0.9.0 - Fixed vulnerabilities in package dependencies. - Formatted filepath for WSL Bash. - Added entry for historical commands in context menu. ## 0.8.0 - Simplified the workflow for executing custom goals. - Supported to fast re-run maven command from history. - Supported to trigger maven command from command palette. - Fixed some bugs. ## 0.7.0 - Added support for setting JAVA_HOME and other environment variables through configuration settings. - Supported to put popular archetypes ahead when generating projects. - Supported to append default options for mvn commands. ## 0.6.0 - Supported to auto-update maven project explorer tree view when pom.xml has been created/modified/removed. - Started to collect anonymous data of **selected Maven Archetype** when users generate projects. ## 0.5.2 - Updated extension name. ## 0.5.1 - Excluded pom.xml in `target` folder by default. (to avoid duplicate item in explorer) - Fixed CRLF issue [#10](https://github.com/Microsoft/vscode-maven/issues/10). ## 0.5.0 - Supported to use maven wrapper. - Changed icon of treeItems for dark/light themes. - Fixed some bugs. ## Early Versions For historical releases earlier than `v0.4.1`, please refer to [Eskibear/vscode-maven](https://github.com/Eskibear/vscode-maven/releases). ================================================ FILE: LICENSE.txt ================================================ VSCode extension Maven Project Explorer Copyright (c) Microsoft Corporation All rights reserved. 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. ================================================ FILE: README.md ================================================ # Maven for Java [![Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/vscjava.vscode-maven.svg)](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-maven) [![Installs](https://img.shields.io/visual-studio-marketplace/i/vscjava.vscode-maven.svg)](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-maven) [![Rating](https://img.shields.io/visual-studio-marketplace/r/vscjava.vscode-maven.svg)](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-maven) [![Build status](https://dev.azure.com/mseng/VSJava/_apis/build/status/microsoft.vscode-maven-CI)](https://dev.azure.com/mseng/VSJava/_build/latest?definitionId=11975) ## Features Maven extension for VS Code. It provides a project explorer and shortcuts to execute Maven commands, improving user experience for Java developers who use Maven. * Support to generate projects from Maven Archetype. * Support to generate effective POM. * Provide shortcuts to common goals, plugin goals and customized commands. * Preserve command history to fast re-run. ## Requirements * Java * Maven / Maven Wrapper For troubleshooting, please refer to the page [HERE](Troubleshooting.md). ## Basic Usage
Maven Explorer The extension scans `pom.xml` in your workspace, and displays all Maven projects and their modules in the sidebar. ![Screenshot](images/explorer.png)
Run Plugin Goals The extension parse effective-pom of Maven projects, and displays all plugins and plugin goals hierarchically. ![Screenshot](images/plugin.gif)
POM File Editing The extension provides Maven specific completion suggestions when editing POM files, including snippets and artifact hints. ![Screenshot](images/completion.gif)
Re-Run Historical Commands It preserves history of goals for each project, so you can fast re-run previous long commands, e.g. `mvn -Dparam1=value1 -Dparam2=value2 -Dparam3=value3 ...` There are 2 entries for it: * Command Palette -> select `Maven: History ...` -> Select a project -> Select command from the history * Right-click on a project -> Click `History ...` -> Select command from the history ![Screenshot](images/history.gif)
Archetype Related ### Generate from Maven Archetype The extension loads archetypes listed in local/remote catalog. After selection, the extension sends `mvn archetype:generate -D...` to terminal. There are 2 entries for it: * Command Palette -> select `Maven: Generate from Maven Archetype` * Right-click on a folder -> Click `Generate from Maven Archetype` ![Screenshot](images/archetype.gif) ### Update Maven Archetype Catalog With following steps, you can update the **local cache** of Maven **remote catalog**. It takes some time to download meta data from Maven central repository. Command Palette -> select `Maven: Update Maven Archetype Catalog`.
## Additional Configurations
JAVA_HOME and Other Environment Variables This extension executes Maven by opening a terminal session and then calling Maven in that session. Maven requires the JAVA_HOME environment variable to be set. Maven will also look for other variables such as MAVEN_OPTS. If you prefer not to set those variables permanently you can configure them, or any other environment variable, in settings: ```json { "maven.terminal.customEnv": [ { "environmentVariable": "MAVEN_OPTS", // variable name "value": "-Xms1024m -Xmx4096m" // value }, { "environmentVariable": "JAVA_HOME", // variable name "value": "C:\\Program Files\\Java\\jdk-9.0.4" // value } ] } ``` > **Using a different JDK for Maven than your system default** > > If `mvn` is picking up the wrong JDK (e.g. the system default JDK 17 is used even though your project targets JDK 1.8), set the `JAVA_HOME` entry in `maven.terminal.customEnv` to the JDK installation you want Maven to use. This setting is honored by every command this extension runs — both Maven commands launched in the integrated terminal and background commands such as effective-pom generation. > > The setting is per-folder, so in a multi-root workspace you can configure a different JDK for each folder via the folder's `.vscode/settings.json`. > > Already-open Maven terminals keep their environment from the moment they were created. After changing this setting, close any existing Maven terminal (or reload the window) so the next command picks up the new value.
Special Handling for JAVA_HOME To run Maven with a specific JDK, set `JAVA_HOME` via `maven.terminal.customEnv` (see the section above). This value is applied to both terminal commands and background commands launched by this extension.
Default Options for Maven Command The usage of Maven executable is: > usage: mvn [options] [] [] You can use `maven.executable.options` to specify default **options** for all your Maven commands executed in current project. ```json { "maven.executable.options": "-o -s ./settings.xml" // work offline and use an alternative settings file. Can also be defined as an array of strings, e.g. ["-o", "-s ./settings.xml"] } ```
Folder Exclusion for Searching POM Files To speed up the searching of Maven projects, you can exclude folders in settings: ```json { "maven.excludedFolders": [ "**/.*", // exclude hidden folders "**/node_modules", // exclude node modules to speed up "**/target" // exclude duplicated pom file in target folder ] } ```
Customize Favorite Maven Commands Specify a favorite command in settings: ```json { "maven.terminal.favorites": [ { "alias": "full-build without tests", "command": "clean package -DskipTests" } ] } ``` Now right-click on an project item, and then click `Favorite ...`. The option `full-build without tests` should show up.
## Settings | Name | Description | Default Value | |---|---|---| | `maven.dependency.enableConflictDiagnostics` | Specify whether to show diagnostics for conflict dependencies. | `true` | | `maven.excludedFolders` | Specifies file path pattern of folders to exclude while searching for Maven projects. | `[ "**/.*", "**/node_modules", "**/target", "**/bin", "**/archetype-resources" ]` | | `maven.executable.preferMavenWrapper` | Specifies whether you prefer to use Maven wrapper. If true, it tries using 'mvnw' by walking up the parent folders. If false, or 'mvnw' is not found, it tries 'mvn' in PATH instead. | `true` | | `maven.executable.path` | Specifies absolute path of your 'mvn' executable. When this value is empty, it tries using 'mvn' or 'mvnw' according to the value of 'maven.executable.preferMavenWrapper'. E.g. `/usr/local/apache-maven-3.6.0/bin/mvn` | ` ` | | `maven.executable.options` | Specifies default options for all mvn commands. E.g. `-o -DskipTests` | ` ` | | `maven.explorer.projectName` | Format of project node name shown in Maven explorer. | `${project.name}` | | `maven.projectOpenBehavior` | "Default method of opening newly created project. | `"Interactive"` | | `maven.pomfile.autoUpdateEffectivePOM` | Specifies whether to update effective-pom automatically whenever changes detected. | `false` | | `maven.pomfile.globPattern` | Specifies the glob pattern used to look for pom.xml files. | `**/pom.xml` | | `maven.pomfile.prefetchEffectivePom` | Specifies whether to prefetch effective pom on startup. | `false` | | `maven.terminal.customEnv` | Specifies an array of environment variable names and values. These environment variable values will be added before Maven is executed.
`environmentVariable`: Name of the environment variable to set.
`value`: Value of the environment variable to set. | `[]` | | `maven.terminal.favorites` | Specify pre-defined favorite commands to execute.
`alias`: A short name for the command.
`command`: Content of the favorite command. | `[]` | | `maven.view` | Specifies the way of viewing Maven projects. Possible values: `flat`, `hierarchical`. | `flat` | | `maven.settingsFile` | Specifies the absolute path of Maven `settings.xml` file. If not specified, `~/.m2/settings.xml` is used. | `null` | | `maven.showInExplorerContextMenu` | If this value is true, add a command to create Maven Projects in the Explorer context menu for folders. | `true` | ## Data/Telemetry VS Code collects usage data and sends it to Microsoft to help improve our products and services. Read our [privacy statement](http://go.microsoft.com/fwlink/?LinkId=521839) to learn more. If you don’t wish to send usage data to Microsoft, you can set the `telemetry.enableTelemetry` setting to `false`. Learn more in our [FAQ](https://code.visualstudio.com/docs/supporting/faq#_how-to-disable-telemetry-reporting). ## Contributing This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. ## Release Notes Refer to [CHANGELOG](CHANGELOG.md) ================================================ FILE: SECURITY.md ================================================ ## Security Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)), please report it to us as described below. ## Reporting Security Issues **Please do not report security vulnerabilities through public GitHub issues.** Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report). If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc). You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc). Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) * Full paths of source file(s) related to the manifestation of the issue * The location of the affected source code (tag/branch/commit or direct URL) * Any special configuration required to reproduce the issue * Step-by-step instructions to reproduce the issue * Proof-of-concept or exploit code (if possible) * Impact of the issue, including how an attacker might exploit the issue This information will help us triage your report more quickly. If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty) page for more details about our active programs. ## Preferred Languages We prefer all communications to be in English. ## Policy Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd). ================================================ FILE: SUPPORT.md ================================================ # Support ## How to file issues and get help This project uses GitHub Issues to track bugs and feature requests. Please search the existing issues before filing new issues to avoid duplicates. For new issues, file your bug or feature request as a new Issue. For help and questions about using this project, please file your questions at our GitHub [Discussions Channel](https://github.com/microsoft/vscode-maven/discussions). ## Microsoft Support Policy Support for this **PROJECT or PRODUCT** is limited to the resources listed above. ================================================ FILE: ThirdPartyNotices.txt ================================================ NOTICES AND INFORMATION Do Not Translate or Localize This software incorporates material from third parties. Microsoft makes certain open source code available at https://3rdpartysource.microsoft.com, or you may send a check or money order for US $5.00, including the product name, the open source component name, platform, and version number, to: Source Code Compliance Team Microsoft Corporation One Microsoft Way Redmond, WA 98052 USA Notwithstanding any other terms, you may reverse engineer this software to the extent required to debug changes to any libraries licensed under the GNU Lesser General Public License. --------------------------------------------------------- domelementtype 2.3.0 - BSD-2-Clause https://github.com/fb55/domelementtype#readme Copyright (c) Felix Bohm 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. --------------------------------------------------------- --------------------------------------------------------- domhandler 5.0.3 - BSD-2-Clause https://github.com/fb55/domhandler#readme Copyright (c) Felix Bohm 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. --------------------------------------------------------- --------------------------------------------------------- domutils 3.0.1 - BSD-2-Clause https://github.com/fb55/domutils#readme Copyright (c) Felix Bohm 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. --------------------------------------------------------- --------------------------------------------------------- entities 4.4.0 - BSD-2-Clause https://github.com/fb55/entities#readme Copyright (c) Felix Bohm 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. --------------------------------------------------------- --------------------------------------------------------- charenc 0.0.2 - BSD-3-Clause https://github.com/pvorb/node-charenc#readme Copyright (c) 2009, Jeff Mott. Copyright (c) 2011, Paul Vorbach. Copyright (c) . All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. 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. 3. Neither the name of the copyright holder nor the names of its 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 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 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------- --------------------------------------------------------- crypt 0.0.2 - BSD-3-Clause https://github.com/pvorb/node-crypt#readme Copyright (c) 2009, Jeff Mott. Copyright (c) 2011, Paul Vorbach. Copyright (c) . All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. 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. 3. Neither the name of the copyright holder nor the names of its 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 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 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------- --------------------------------------------------------- expand-home-dir 0.0.3 - BSD-3-Clause https://github.com/n-johnson/expand-home-dir#readme Copyright (c) . All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. 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. 3. Neither the name of the copyright holder nor the names of its 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 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 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------- --------------------------------------------------------- md5 2.3.0 - BSD-3-Clause https://github.com/pvorb/node-md5#readme Copyright (c) 2009, Jeff Mott. Copyright (c) 2011-2012, Paul Vorbach. Copyright (c) 2011-2015, Paul Vorbach. Copyright © 2011-2012, Paul Vorbach. Copyright © 2009, Jeff Mott. 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. * Neither the name Crypto-JS nor the names of its 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 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 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------- --------------------------------------------------------- ch.qos.logback/logback-classic 1.2.11 - EPL-1.0 OR LGPL-2.1-only Copyright (c) 1999-2010, QOS.ch Copyright (c) 1999-2012, QOS.ch EPL-1.0 OR LGPL-2.1-only --------------------------------------------------------- --------------------------------------------------------- ch.qos.logback/logback-core 1.2.11 - EPL-1.0 OR LGPL-2.1-only EPL-1.0 OR LGPL-2.1-only --------------------------------------------------------- --------------------------------------------------------- jszip 3.10.1 - GPL-3.0-or-later OR MIT OR (GPL-3.0-or-later AND MIT) https://github.com/Stuk/jszip#readme (c) 2009-2016 Stuart Knightley (c) 1995-2013 Jean-loup Gailly and Mark Adler (c) 2014-2017 Vitaly Puzrin and Andrey Tupitsin Copyright (c) 2007 Free Software Foundation, Inc. Copyright (c) 2009-2016 Stuart Knightley, David Duponchel, Franz Buchinger, Antonio Afonso GPL-3.0-or-later OR MIT OR (GPL-3.0-or-later AND MIT) --------------------------------------------------------- --------------------------------------------------------- fastq 1.15.0 - ISC https://github.com/mcollina/fastq#readme Copyright (c) 2015-2020, Matteo Collina Copyright (c) 2015-2020, Matteo Collina 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. --------------------------------------------------------- --------------------------------------------------------- glob-parent 5.1.2 - ISC https://github.com/gulpjs/glob-parent#readme Copyright (c) 2015, 2019 Elan Shanker The ISC License Copyright (c) 2015, 2019 Elan Shanker 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. --------------------------------------------------------- --------------------------------------------------------- graceful-fs 4.2.10 - ISC https://github.com/isaacs/node-graceful-fs#readme Copyright (c) 2011-2022 Isaac Z. Schlueter, Ben Noordhuis, and Contributors The ISC License Copyright (c) 2011-2022 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. --------------------------------------------------------- --------------------------------------------------------- inherits 2.0.4 - ISC https://github.com/isaacs/inherits#readme Copyright (c) Isaac Z. Schlueter 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. --------------------------------------------------------- --------------------------------------------------------- isexe 2.0.0 - ISC https://github.com/isaacs/isexe#readme Copyright (c) Isaac Z. Schlueter and Contributors 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. --------------------------------------------------------- --------------------------------------------------------- lru-cache 6.0.0 - ISC https://github.com/isaacs/node-lru-cache#readme Copyright (c) Isaac Z. Schlueter and Contributors 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. --------------------------------------------------------- --------------------------------------------------------- minimatch 3.1.2 - ISC https://github.com/isaacs/minimatch#readme Copyright (c) Isaac Z. Schlueter and Contributors 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. --------------------------------------------------------- --------------------------------------------------------- sax 1.2.4 - ISC https://github.com/isaacs/sax-js#readme Copyright (c) Isaac Z. Schlueter and Contributors Copyright Mathias Bynens 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. --------------------------------------------------------- --------------------------------------------------------- semver 7.3.8 - ISC https://github.com/npm/node-semver#readme Copyright Isaac Z. Schlueter Copyright (c) Isaac Z. Schlueter and Contributors 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. --------------------------------------------------------- --------------------------------------------------------- which 1.3.1 - ISC https://github.com/isaacs/node-which#readme Copyright (c) Isaac Z. Schlueter and Contributors 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. --------------------------------------------------------- --------------------------------------------------------- yallist 4.0.0 - ISC https://github.com/isaacs/yallist#readme Copyright (c) Isaac Z. Schlueter and Contributors 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. --------------------------------------------------------- --------------------------------------------------------- com.puppycrawl.tools/checkstyle 8.29 - LGPL-2.1+ GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. < signature of Ty Coon > , 1 April 1990 Ty Coon, President of Vice That's all there is to it! --------------------------------------------------------- --------------------------------------------------------- @microsoft/1ds-core-js 3.2.8 - MIT https://github.com/microsoft/ApplicationInsights-JS#readme copyright Microsoft 2018 copyright Microsoft 2019 Copyright (c) Microsoft Corporation copyright Microsoft 2019 Simplified Copyright (c) Microsoft and contributors The MIT License (MIT) Copyright (c) Microsoft Corporation 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. --------------------------------------------------------- --------------------------------------------------------- @microsoft/1ds-post-js 3.2.8 - MIT https://github.com/microsoft/ApplicationInsights-JS#readme copyright Microsoft 2018 copyright Microsoft 2020 copyright Microsoft 2018-2020 copyright Microsoft 2022 Simple Copyright (c) Microsoft Corporation Copyright (c) Microsoft and contributors copyright Microsoft 2018-2020 import EventSendType, FieldValueSanitizerFunc, FieldValueSanitizerType, IPerfManagerProvider, IValueSanitizer, SendRequestReason The MIT License (MIT) Copyright (c) Microsoft Corporation 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. --------------------------------------------------------- --------------------------------------------------------- @nodelib/fs.scandir 2.1.5 - MIT Copyright (c) Denis Malinochkin The MIT License (MIT) Copyright (c) Denis Malinochkin 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. --------------------------------------------------------- --------------------------------------------------------- @nodelib/fs.stat 2.0.5 - MIT Copyright (c) Denis Malinochkin The MIT License (MIT) Copyright (c) Denis Malinochkin 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. --------------------------------------------------------- --------------------------------------------------------- @nodelib/fs.walk 1.2.8 - MIT Copyright (c) Denis Malinochkin The MIT License (MIT) Copyright (c) Denis Malinochkin 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. --------------------------------------------------------- --------------------------------------------------------- @vscode/extension-telemetry 0.6.2 - MIT https://github.com/Microsoft/vscode-extension-telemetry#readme Copyright (c) Microsoft Corporation Copyright (c) Microsoft and contributors vscode-extension-telemetry The MIT License (MIT) Copyright (c) Microsoft Corporation 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. --------------------------------------------------------- --------------------------------------------------------- axios 0.26.1 - MIT https://axios-http.com/ Copyright (c) 2014-present Matt Zabriskie Copyright (c) 2014-present Matt Zabriskie 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. --------------------------------------------------------- --------------------------------------------------------- balanced-match 1.0.2 - MIT https://github.com/juliangruber/balanced-match Copyright (c) 2013 Julian Gruber (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. --------------------------------------------------------- --------------------------------------------------------- brace-expansion 1.1.11 - MIT https://github.com/juliangruber/brace-expansion Copyright (c) 2013 Julian Gruber 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. --------------------------------------------------------- --------------------------------------------------------- braces 3.0.2 - MIT https://github.com/micromatch/braces Copyright (c) 2014-2018, Jon Schlinkert Copyright (c) 2019, Jon Schlinkert (https://github.com/jonschlinkert) The MIT License (MIT) Copyright (c) 2014-2018, Jon Schlinkert. 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. --------------------------------------------------------- --------------------------------------------------------- concat-map 0.0.1 - MIT https://github.com/substack/node-concat-map 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. --------------------------------------------------------- --------------------------------------------------------- core-util-is 1.0.3 - MIT https://github.com/isaacs/core-util-is#readme Copyright Joyent, Inc. and other Node contributors 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. --------------------------------------------------------- --------------------------------------------------------- dom-serializer 2.0.0 - MIT https://github.com/cheeriojs/dom-serializer#readme Copyright (c) 2014 The cheeriojs contributors 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. --------------------------------------------------------- --------------------------------------------------------- fast-glob 3.2.12 - MIT https://github.com/mrmlnc/fast-glob#readme Copyright (c) Denis Malinochkin The MIT License (MIT) Copyright (c) Denis Malinochkin 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. --------------------------------------------------------- --------------------------------------------------------- fill-range 7.0.1 - MIT https://github.com/jonschlinkert/fill-range Copyright (c) 2014-present, Jon Schlinkert Copyright (c) 2019, Jon Schlinkert (https://github.com/jonschlinkert) The MIT License (MIT) Copyright (c) 2014-present, Jon Schlinkert. 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. --------------------------------------------------------- --------------------------------------------------------- follow-redirects 1.15.2 - MIT https://github.com/follow-redirects/follow-redirects Copyright 2014-present Olivier Lalonde , James Talmage , Ruben Verborgh Copyright 2014–present Olivier Lalonde , James Talmage , Ruben Verborgh 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. --------------------------------------------------------- --------------------------------------------------------- fs-extra 4.0.3 - MIT https://github.com/jprichardson/node-fs-extra Copyright (c) 2011-2017 JP Richardson Copyright (c) 2011-2017 JP Richardson (https://github.com/jprichardson) Copyright (c) 2014-2016 Jonathan Ong me@jongleberry.com and Contributors (The MIT License) Copyright (c) 2011-2017 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. --------------------------------------------------------- --------------------------------------------------------- get-port 4.2.0 - MIT https://github.com/sindresorhus/get-port#readme (c) Sindre Sorhus (https://sindresorhus.com) Copyright (c) Sindre Sorhus (sindresorhus.com) MIT License 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. --------------------------------------------------------- --------------------------------------------------------- htmlparser2 8.0.1 - MIT https://github.com/fb55/htmlparser2#readme Copyright 2010, 2011, Chris Winberry 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. --------------------------------------------------------- --------------------------------------------------------- immediate 3.0.6 - MIT Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, Domenic Denicola, Brian Cavalier Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, Domenic Denicola, Brian Cavalier 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. --------------------------------------------------------- --------------------------------------------------------- isarray 1.0.0 - MIT https://github.com/juliangruber/isarray Copyright (c) 2013 Julian Gruber MIT License Copyright (c) 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. --------------------------------------------------------- --------------------------------------------------------- is-buffer 1.1.6 - MIT https://github.com/feross/is-buffer#readme Copyright (c) Feross Aboukhadijeh Copyright (c) Feross Aboukhadijeh (http://feross.org) 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. --------------------------------------------------------- --------------------------------------------------------- is-extglob 2.1.1 - MIT https://github.com/jonschlinkert/is-extglob Copyright (c) 2014-2016, Jon Schlinkert Copyright (c) 2016, Jon Schlinkert (https://github.com/jonschlinkert) The MIT License (MIT) Copyright (c) 2014-2016, Jon Schlinkert 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. --------------------------------------------------------- --------------------------------------------------------- is-glob 4.0.3 - MIT https://github.com/micromatch/is-glob Copyright (c) 2014-2017, Jon Schlinkert Copyright (c) 2019, Jon Schlinkert (https://github.com/jonschlinkert) The MIT License (MIT) Copyright (c) 2014-2017, Jon Schlinkert. 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. --------------------------------------------------------- --------------------------------------------------------- is-number 7.0.0 - MIT https://github.com/jonschlinkert/is-number Copyright (c) 2014-present, Jon Schlinkert Copyright (c) 2018, Jon Schlinkert (https://github.com/jonschlinkert) The MIT License (MIT) Copyright (c) 2014-present, Jon Schlinkert. 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. --------------------------------------------------------- --------------------------------------------------------- jsonfile 4.0.0 - MIT https://github.com/jprichardson/node-jsonfile#readme Copyright 2012-2016, JP Richardson Copyright (c) 2012-2015, JP Richardson (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. --------------------------------------------------------- --------------------------------------------------------- lie 3.3.0 - MIT https://github.com/calvinmetcalf/lie#readme Copyright (c) 2014-2018 Calvin Metcalf, Jordan Harband #Copyright (c) 2014-2018 Calvin Metcalf, Jordan Harband 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.** --------------------------------------------------------- --------------------------------------------------------- lodash 4.17.21 - MIT https://lodash.com/ Copyright OpenJS Foundation and other contributors Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors Copyright OpenJS 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. --------------------------------------------------------- --------------------------------------------------------- merge2 1.4.1 - MIT https://github.com/teambition/merge2 Copyright (c) 2014-2020 Teambition The MIT License (MIT) Copyright (c) 2014-2020 Teambition 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. --------------------------------------------------------- --------------------------------------------------------- micromatch 4.0.5 - MIT https://github.com/micromatch/micromatch Copyright (c) 2014-present, Jon Schlinkert Copyright (c) 2022, Jon Schlinkert (https://github.com/jonschlinkert) The MIT License (MIT) Copyright (c) 2014-present, Jon Schlinkert. 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. --------------------------------------------------------- --------------------------------------------------------- org.slf4j/slf4j-api 2.0.9 - MIT MIT License Copyright (c) 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. --------------------------------------------------------- --------------------------------------------------------- picomatch 2.3.1 - MIT https://github.com/micromatch/picomatch Copyright (c) 2017-present, Jon Schlinkert Copyright (c) 2017-present, Jon Schlinkert (https://github.com/jonschlinkert) The MIT License (MIT) Copyright (c) 2017-present, Jon Schlinkert. 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. --------------------------------------------------------- --------------------------------------------------------- process-nextick-args 2.0.1 - MIT https://github.com/calvinmetcalf/process-nextick-args Copyright (c) 2015 Calvin Metcalf # 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.** --------------------------------------------------------- --------------------------------------------------------- queue-microtask 1.2.3 - MIT https://github.com/feross/queue-microtask Copyright (c) Feross Aboukhadijeh Copyright (c) Feross Aboukhadijeh (https://feross.org) 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. --------------------------------------------------------- --------------------------------------------------------- readable-stream 2.3.7 - MIT https://github.com/nodejs/readable-stream#readme Copyright Joyent, Inc. and other Node contributors 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. """ --------------------------------------------------------- --------------------------------------------------------- reusify 1.0.4 - MIT https://github.com/mcollina/reusify#readme Copyright (c) 2015 Matteo Collina The MIT License (MIT) Copyright (c) 2015 Matteo Collina 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. --------------------------------------------------------- --------------------------------------------------------- run-parallel 1.2.0 - MIT https://github.com/feross/run-parallel Copyright (c) Feross Aboukhadijeh Copyright (c) Feross Aboukhadijeh (http://feross.org) 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. --------------------------------------------------------- --------------------------------------------------------- safe-buffer 5.1.2 - MIT https://github.com/feross/safe-buffer Copyright (c) Feross Aboukhadijeh Copyright (c) Feross Aboukhadijeh (http://feross.org) 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. --------------------------------------------------------- --------------------------------------------------------- setimmediate 1.0.5 - MIT https://github.com/yuzujs/setImmediate#readme Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, and Domenic Denicola Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, and Domenic Denicola 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. --------------------------------------------------------- --------------------------------------------------------- string_decoder 1.1.1 - MIT https://github.com/nodejs/string_decoder Copyright Joyent, Inc. and other Node contributors 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. """ --------------------------------------------------------- --------------------------------------------------------- tas-client 0.1.58 - MIT Copyright (c) Microsoft Corporation MIT License Copyright (c) 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. --------------------------------------------------------- --------------------------------------------------------- to-regex-range 5.0.1 - MIT https://github.com/micromatch/to-regex-range Copyright (c) 2015-present, Jon Schlinkert Copyright (c) 2019, Jon Schlinkert (https://github.com/jonschlinkert) The MIT License (MIT) Copyright (c) 2015-present, Jon Schlinkert. 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. --------------------------------------------------------- --------------------------------------------------------- universalify 0.1.2 - MIT https://github.com/RyanZim/universalify#readme Copyright (c) 2017, Ryan Zimmerman (The MIT License) Copyright (c) 2017, Ryan Zimmerman 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. --------------------------------------------------------- --------------------------------------------------------- util-deprecate 1.0.2 - MIT https://github.com/TooTallNate/util-deprecate Copyright (c) 2014 Nathan Rajlich (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. --------------------------------------------------------- --------------------------------------------------------- uuid 8.3.2 - MIT https://github.com/uuidjs/uuid#readme Copyright 2011, Sebastian Tschan https://blueimp.net Copyright (c) 2010-2020 Robert Kieffer and other contributors Copyright (c) Paul Johnston 1999 - 2009 Other contributors Greg Holt, Andrew Kepert, Ydnar, Lostinet The MIT License (MIT) Copyright (c) 2010-2020 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. --------------------------------------------------------- --------------------------------------------------------- vscode-extension-telemetry-wrapper 0.13.2 - MIT https://github.com/Eskibear/vscode-extension-telemetry-wrapper#readme Copyright 2018 Yan Zhang Copyright 2018 Yan Zhang 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. --------------------------------------------------------- --------------------------------------------------------- vscode-jsonrpc 6.0.0 - MIT https://github.com/Microsoft/vscode-languageserver-node#readme Copyright (c) Microsoft Corporation. Copyright (c) Microsoft Corporation All rights reserved. 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. --------------------------------------------------------- --------------------------------------------------------- vscode-jsonrpc 8.0.2 - MIT https://github.com/Microsoft/vscode-languageserver-node#readme Copyright (c) Microsoft Corporation Copyright (c) Microsoft Corporation All rights reserved. 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. --------------------------------------------------------- --------------------------------------------------------- vscode-languageclient 7.0.0 - MIT https://github.com/Microsoft/vscode-languageserver-node#readme Copyright (c) Microsoft Corporation. Copyright (c) Isaac Z. Schlueter and Contributors Copyright (c) Microsoft Corporation All rights reserved. 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. --------------------------------------------------------- --------------------------------------------------------- vscode-languageserver-protocol 3.16.0 - MIT https://github.com/Microsoft/vscode-languageserver-node#readme Copyright (c) TypeFox and others. Copyright (c) Microsoft Corporation. Copyright (c) Microsoft Corporation All rights reserved. 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. --------------------------------------------------------- --------------------------------------------------------- vscode-languageserver-protocol 3.17.2 - MIT https://github.com/Microsoft/vscode-languageserver-node#readme Copyright (c) Microsoft Corporation Copyright (c) TypeFox, Microsoft and others Copyright (c) Microsoft Corporation All rights reserved. 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. --------------------------------------------------------- --------------------------------------------------------- vscode-languageserver-types 3.16.0 - MIT https://github.com/Microsoft/vscode-languageserver-node#readme Copyright (c) Microsoft Corporation. Copyright (c) Microsoft Corporation All rights reserved. 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. --------------------------------------------------------- --------------------------------------------------------- vscode-languageserver-types 3.17.2 - MIT https://github.com/Microsoft/vscode-languageserver-node#readme Copyright (c) Microsoft Corporation Copyright (c) Microsoft Corporation All rights reserved. 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. --------------------------------------------------------- --------------------------------------------------------- vscode-tas-client 0.1.75 - MIT Copyright (c) Microsoft Corporation MIT License Copyright (c) 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. --------------------------------------------------------- --------------------------------------------------------- xml2js 0.4.23 - MIT https://github.com/Leonidas-from-XIV/node-xml2js Copyright 2010, 2011, 2012, 2013. 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. --------------------------------------------------------- --------------------------------------------------------- xmlbuilder 11.0.1 - MIT http://github.com/oozcitak/xmlbuilder-js Copyright (c) 2013 Ozgur Ozcitak 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. --------------------------------------------------------- --------------------------------------------------------- pako 1.0.11 - MIT AND Zlib https://github.com/nodeca/pako (c) 1995-2013 Jean-loup Gailly and Mark Adler (c) 2014-2017 Vitaly Puzrin and Andrey Tupitsin Copyright (c) 1995-2013 Jean-loup Gailly and Mark Adler Copyright (c) 2014-2017 by Vitaly Puzrin and Andrei Tuputcyn (The MIT License) Copyright (C) 2014-2017 by Vitaly Puzrin and Andrei Tuputcyn 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. --------------------------------------------------------- ================================================ FILE: Troubleshooting.md ================================================ # Troubleshooting ## Background knowledge ### Where to find Error logs There are 2 types of command execution methods. * **Background command**. It spawns a child process in background for your command, and the process is showing in status bar. E.g. generating effective pom. When a background command fails, you will see an error toast along the lines of `Background process terminated with code 1` or `Error occured in background process`. You can find error logs in an `Output` panel named `Maven for Java`. * **Terminal command**. It sends plain text of your command to a terminal to execute. E.g. almost all the other Maven commands. Error logs are directly printed in the corresponding terminals. ### Requirements * Install **Java**. Java Runtime is essential to run Maven commands. E.g. [AdoptOpenJDK](https://adoptopenjdk.net/), [Oracle OpenJDK](https://jdk.java.net/), etc. * **[Install Maven](https://maven.apache.org/install.html) / Maven Wrapper**. The extension actually leverages Maven executable file in your local machine. By default, it tries the following ones in order: 1. The absolute path specified in config `maven.executable.path` if it is not empty. This should be the full path including `mvn`, e.g. `"maven.executable.path": "/opt/apache-maven-3.6.2/bin/mvn"` in your `settings.json` file. 2. `mvnw` file under your workspace root folder. (If you prefer to bypass this one, you can change value of config `maven.executable.preferMavenWrapper` to `false`.) 3. `mvn` in your system's `PATH`. ## Possible error messages Error message can be collected either **directly from the integrated terminal**, or **from `Maven for Java` output panel**. * Maven executable file not found/set. ``` Command failed: mvn --version 'mvn' is not recognized as an internal or external command, operable program or batch file. ``` In this case, please follow above instructions to set available Maven executable path. * `M2_HOME` not correctly set. ``` Error: Command failed: mvn help:effective-pom -f "xxxxxxxxxxxx\pom.xml" -Doutput="xxxxxxxxxxxxxxx\effective-pom.xml" Error: M2_HOME is set to an invalid directory. M2_HOME = "xxxxxxxxx\apache-maven-3.3.9\bin" Please set the M2_HOME variable in your environment to match the location of the Maven installation ``` In this case, please follow the error message to reset a correct `M2_HOME`. * `JAVA_HOME` not correctly set, or the wrong JDK is being used. ``` The JAVA_HOME environment variable is not defined correctly This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE ``` In this case, please specify a correct `JAVA_HOME` environment variable, or re-install JRE/JDK if necessary. If `JAVA_HOME` is set on your system but Maven still picks up a different JDK than your project expects (for example, the system default JDK is used even though your project targets a different version), set the JDK explicitly for Maven via the `maven.terminal.customEnv` setting: ```json { "maven.terminal.customEnv": [ { "environmentVariable": "JAVA_HOME", "value": "/path/to/your/jdk" } ] } ``` This value is applied to every Maven invocation this extension launches (both terminal commands and background commands such as effective-pom generation) and takes precedence over the process-level `JAVA_HOME`. After changing the setting, close any existing Maven terminal so the next command picks up the new value. > **macOS / Linux note — shell profile may override the injected value.** For terminal commands, the integrated terminal injects `JAVA_HOME` *before* the shell starts. If your shell profile (`~/.zshrc`, `~/.bash_profile`, `~/.profile`, etc.) contains an unconditional `export JAVA_HOME=…`, it runs after the injection and silently overwrites the value, leaving you with the system JDK again. You can confirm by running `echo $JAVA_HOME` in the Maven terminal — if it doesn't match `maven.terminal.customEnv`, your profile is the culprit. Fix it by either removing the export from the profile, or guarding it so it only sets the variable when it is unset: > > ```bash > # ~/.zshrc — only set JAVA_HOME if it isn't already set > [ -z "$JAVA_HOME" ] && export JAVA_HOME="$(/usr/libexec/java_home)" > ``` > > Background commands (effective-pom generation and other spawned Maven processes) are not affected by this — they bypass the shell entirely. ================================================ FILE: javaConfig.json ================================================ { "projects": [ "./jdtls.ext/com.microsoft.java.maven.plugin" ], "targetPlatform": "./jdtls.ext/com.microsoft.java.maven.target/com.microsoft.java.maven.tp.target" } ================================================ FILE: jdtls.ext/.gitignore ================================================ target .settings .sts4-cache lib ================================================ FILE: jdtls.ext/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.12/apache-maven-3.9.12-bin.zip ================================================ FILE: jdtls.ext/.project ================================================ parent org.eclipse.m2e.core.maven2Builder org.eclipse.m2e.core.maven2Nature 1667906256862 30 org.eclipse.core.resources.regexFilterMatcher node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ ================================================ FILE: jdtls.ext/checkstyle.xml ================================================ ================================================ FILE: jdtls.ext/com.microsoft.java.maven.plugin/.classpath ================================================ ================================================ FILE: jdtls.ext/com.microsoft.java.maven.plugin/.project ================================================ com.microsoft.java.maven.plugin org.eclipse.jdt.core.javabuilder org.eclipse.pde.ManifestBuilder org.eclipse.pde.SchemaBuilder org.eclipse.m2e.core.maven2Builder org.eclipse.m2e.core.maven2Nature org.eclipse.pde.PluginNature org.eclipse.jdt.core.javanature 1667906256856 30 org.eclipse.core.resources.regexFilterMatcher node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ ================================================ FILE: jdtls.ext/com.microsoft.java.maven.plugin/META-INF/MANIFEST.MF ================================================ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: com.microsoft.java.maven Bundle-SymbolicName: com.microsoft.java.maven.plugin;singleton:=true Bundle-Version: 0.39.0 Bundle-Activator: com.microsoft.java.maven.PluginActivator Bundle-RequiredExecutionEnvironment: JavaSE-17 Import-Package: org.eclipse.jdt.core, org.eclipse.jdt.launching, org.osgi.framework;version="1.3.0" Bundle-ActivationPolicy: lazy Require-Bundle: com.google.guava, org.apache.commons.lang3, org.eclipse.jdt.core, org.eclipse.lsp4j, org.eclipse.jdt.launching, org.eclipse.jdt.ls.core, org.eclipse.core.runtime, org.eclipse.core.resources, org.eclipse.jdt.core.manipulation, org.eclipse.text, org.eclipse.ltk.core.refactoring, com.google.gson, slf4j.api, org.eclipse.m2e.maven.runtime Bundle-ClassPath: ., lib/indexer-core-6.0.0.jar, lib/lucene-core-5.5.5.jar, lib/lucene-queryparser-5.5.5.jar, lib/lucene-analyzers-common-5.5.5.jar, lib/okhttp-4.12.0.jar, lib/okio-1.17.6.jar, lib/commons-text-1.15.0.jar, lib/plexus-utils-3.2.1.jar, lib/maven-resolver-api-1.1.0.jar, lib/maven-resolver-util-1.1.0.jar, lib/aopalliance-1.0.jar Automatic-Module-Name: com.microsoft.java.maven ================================================ FILE: jdtls.ext/com.microsoft.java.maven.plugin/ThirdPartyNotices.txt ================================================ THIRD-PARTY SOFTWARE NOTICES AND INFORMATION For com.microsoft.java.maven.plugin package This extension uses Open Source components. You can find the source code of their open source projects along with the license information below. We acknowledge and are grateful to these developers for their contribution to open source. 1. Apache Maven Indexer (https://maven.apache.org/maven-indexer/) 2. Apache Lucene (https://lucene.apache.org/) 3. Apache Commons (http://commons.apache.org/) 4. Apache Maven Artifact Resolver (https://maven.apache.org/resolver/) Apache NOTICES BEGIN HERE ============================= Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ========================================= END OF Apache NOTICES AND INFORMATION ================================================ FILE: jdtls.ext/com.microsoft.java.maven.plugin/build.properties ================================================ source.. = src/main/java output.. = target/classes bin.includes = META-INF/,\ .,\ plugin.xml,\ ThirdPartyNotices.txt,\ lib/indexer-core-6.0.0.jar,\ lib/lucene-core-5.5.5.jar,\ lib/lucene-queryparser-5.5.5.jar,\ lib/lucene-analyzers-common-5.5.5.jar,\ lib/okhttp-4.12.0.jar,\ lib/okio-1.17.6.jar,\ lib/commons-text-1.15.0.jar,\ lib/plexus-utils-3.2.1.jar,\ lib/maven-resolver-api-1.1.0.jar,\ lib/maven-resolver-util-1.1.0.jar,\ lib/aopalliance-1.0.jar ================================================ FILE: jdtls.ext/com.microsoft.java.maven.plugin/plugin.xml ================================================ ================================================ FILE: jdtls.ext/com.microsoft.java.maven.plugin/pom.xml ================================================ 4.0.0 com.microsoft.java.maven parent 0.39.0 com.microsoft.java.maven.plugin eclipse-plugin ${base.name} :: Plugin org.eclipse.tycho tycho-maven-plugin ${tycho-version} true org.apache.maven.plugins maven-checkstyle-plugin 3.1.0 validate validate check com.puppycrawl.tools checkstyle 8.29 ${project.parent.basedir}/checkstyle.xml true org.apache.maven.plugins maven-dependency-plugin 3.1.1 org.apache.maven.indexer indexer-core 6.0.0 org.apache.lucene lucene-core 5.5.5 org.apache.lucene lucene-queryparser 5.5.5 org.apache.lucene lucene-analyzers-common 5.5.5 com.squareup.okhttp3 okhttp 4.12.0 com.squareup.okio okio 1.17.6 org.apache.commons commons-text 1.15.0 org.codehaus.plexus plexus-utils 3.2.1 org.apache.maven.resolver maven-resolver-api 1.1.0 org.apache.maven.resolver maven-resolver-util 1.1.0 aopalliance aopalliance 1.0 org.eclipse.m2e lifecycle-mapping 1.0.0 org.apache.maven.plugins maven-checkstyle-plugin [2.17,) check ================================================ FILE: jdtls.ext/com.microsoft.java.maven.plugin/src/main/java/com/microsoft/java/maven/AddDependencyHandler.java ================================================ /******************************************************************************* * Copyright (c) 2019 Microsoft Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Microsoft Corporation - initial API and implementation *******************************************************************************/ package com.microsoft.java.maven; import org.apache.commons.lang3.StringUtils; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jdt.core.ICompilationUnit; import org.eclipse.jdt.core.JavaModelException; import org.eclipse.jdt.core.dom.CompilationUnit; import org.eclipse.jdt.core.dom.rewrite.ImportRewrite; import org.eclipse.jdt.core.manipulation.CodeStyleConfiguration; import org.eclipse.jdt.core.refactoring.CompilationUnitChange; import org.eclipse.jdt.internal.core.manipulation.dom.ASTResolving; import org.eclipse.jdt.ls.core.internal.ChangeUtil; import org.eclipse.jdt.ls.core.internal.JDTUtils; import org.eclipse.lsp4j.Position; import org.eclipse.lsp4j.Range; import org.eclipse.lsp4j.TextEdit; import org.eclipse.lsp4j.WorkspaceEdit; import org.xml.sax.SAXException; import org.xml.sax.XMLReader; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; public class AddDependencyHandler { public static class AddDependencyParams { final String fullClassName; final String artifactInfo; // gid:aid:version final String uri; final int line; final int character; final int length; public AddDependencyParams(String fullClassName, String artifactInfo, String uri, int line, int character, int length) { this.fullClassName = fullClassName; this.artifactInfo = artifactInfo; this.uri = uri; this.line = line; this.character = character; this.length = length; } } private static WorkspaceEdit importEdit(AddDependencyParams params, ICompilationUnit unit, CompilationUnit astRoot) throws CoreException { // import the new class final CompilationUnitChange cuChange = new CompilationUnitChange("", unit); final ImportRewrite importRewrite = CodeStyleConfiguration.createImportRewrite(astRoot, true); importRewrite.addImport(params.fullClassName); cuChange.setEdit(importRewrite.rewriteImports(null)); return ChangeUtil.convertToWorkspaceEdit(cuChange); } private static WorkspaceEdit replaceEdit(AddDependencyParams params, ICompilationUnit unit) throws JavaModelException { // replace old class name with new one final Map> textEdits = new HashMap<>(); textEdits.put(unit.getCorrespondingResource().getLocationURI().toString(), Arrays.asList(new TextEdit(new Range(new Position(params.line, params.character), new Position(params.line, params.character + params.length)), params.fullClassName.substring(params.fullClassName.lastIndexOf('.') + 1)))); return new WorkspaceEdit(textEdits); } private static PosInfo getPosInfo(String pomPath, String targetDependency) { PosInfo posInfo = null; final SAXParserFactory factory = SAXParserFactory.newInstance(); try { final SAXParser parser = factory.newSAXParser(); final XMLReader reader = parser.getXMLReader(); final GetPosHandler posHandler = new GetPosHandler(); posHandler.setTargetDependency(targetDependency); reader.setContentHandler(posHandler); reader.parse(pomPath); posInfo = posHandler.getPosInfo(); return posInfo; } catch (SAXException | IOException | ParserConfigurationException e) { // there is no pom.xml, or fail to get parser return null; } } private static WorkspaceEdit pomEdit(AddDependencyParams params, ICompilationUnit unit) throws JavaModelException { final IPath path = unit.getJavaProject().getCorrespondingResource().getLocation().append("pom.xml"); final String info[] = params.artifactInfo.replaceAll(" ", "").split(":"); if (info.length < 3) { return new WorkspaceEdit(); } final PosInfo posInfo = getPosInfo(path.toString(), info[0] + ":" + info[1]); final String linesep = System.lineSeparator(); String newtext = ""; final String pomUriString = unit.getJavaProject().getCorrespondingResource() .getLocationURI().toString() + "/pom.xml"; final Map> textEdits = new HashMap<>(); if (posInfo != null) { if (posInfo.needAddDependency == false) { textEdits.put(pomUriString, new ArrayList()); } else if (posInfo.alreadyHasDependencies == false) { final int space = 2; newtext = linesep + StringUtils.repeat(" ", space) + "" + linesep + StringUtils.repeat(" ", space + 2) + "" + linesep + StringUtils.repeat(" ", space + 4) + "" + info[0] + "" + linesep + StringUtils.repeat(" ", space + 4) + "" + info[1] + "" + linesep + StringUtils.repeat(" ", space + 4) + "" + info[2] + "" + linesep + StringUtils.repeat(" ", space + 2) + "" + linesep + StringUtils.repeat(" ", space) + "" + linesep; textEdits.put(pomUriString, Arrays.asList(new TextEdit(new Range(posInfo.pos, posInfo.pos), newtext))); } else { final int space = posInfo.pos.getCharacter(); newtext = linesep + StringUtils.repeat(" ", space + 2) + "" + linesep + StringUtils.repeat(" ", space + 4) + "" + info[0] + "" + linesep + StringUtils.repeat(" ", space + 4) + "" + info[1] + "" + linesep + StringUtils.repeat(" ", space + 4) + "" + info[2] + "" + linesep + StringUtils.repeat(" ", space + 2) + "" + linesep + StringUtils.repeat(" ", space); textEdits.put(pomUriString, Arrays.asList(new TextEdit(new Range(posInfo.pos, posInfo.pos), newtext))); } return new WorkspaceEdit(textEdits); } else { return new WorkspaceEdit(); } } public static List addDependency(AddDependencyParams params, IProgressMonitor monitor) throws CoreException, JavaModelException { final ICompilationUnit unit = JDTUtils.resolveCompilationUnit(params.uri); final CompilationUnit astRoot = ASTResolving.createQuickFixAST(unit, null); return Arrays.asList(replaceEdit(params, unit), importEdit(params, unit, astRoot), pomEdit(params, unit)); } } ================================================ FILE: jdtls.ext/com.microsoft.java.maven.plugin/src/main/java/com/microsoft/java/maven/ArtifactResult.java ================================================ /******************************************************************************* * Copyright (c) 2019 Microsoft Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Microsoft Corporation - initial API and implementation *******************************************************************************/ package com.microsoft.java.maven; public class ArtifactResult { private String groupId; private String artifactId; private String version; private String className; private String fullClassName; private int usage; private int kind; public static final int PREFIX = 1; public static final int FUZZY = 2; public ArtifactResult(String groupId, String artifactId, String version, String className, String fullClassName, int usage, int kind) { this.setGroupId(groupId); this.setArtifactId(artifactId); this.setVersion(version); this.setClassName(className); this.setFullClassName(fullClassName); this.setUsage(usage); this.setKind(kind); } public String getFullClassName() { return fullClassName; } public void setFullClassName(String fullClassName) { this.fullClassName = fullClassName; } public String getClassName() { return className; } public void setClassName(String className) { this.className = className; } public String getVersion() { return version; } public void setVersion(String version) { this.version = version; } public String getArtifactId() { return artifactId; } public void setArtifactId(String artifactId) { this.artifactId = artifactId; } public String getGroupId() { return groupId; } public void setGroupId(String groupId) { this.groupId = groupId; } public int getUsage() { return usage; } public void setUsage(int usage) { this.usage = usage; } public int getKind() { return kind; } public void setKind(int kind) { this.kind = kind; } @Override public String toString() { return groupId + ":" + artifactId + ":" + version + ":" + className + ":" + fullClassName; } } ================================================ FILE: jdtls.ext/com.microsoft.java.maven.plugin/src/main/java/com/microsoft/java/maven/ArtifactSearcher.java ================================================ /******************************************************************************* * Copyright (c) 2019 Microsoft Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Microsoft Corporation - initial API and implementation *******************************************************************************/ package com.microsoft.java.maven; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import com.google.gson.stream.JsonReader; import okhttp3.Call; import okhttp3.Callback; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import org.apache.commons.text.similarity.LevenshteinDistance; import org.apache.lucene.search.BooleanClause.Occur; import org.apache.lucene.search.BooleanQuery; import org.apache.lucene.search.BooleanQuery.Builder; import org.apache.lucene.search.Query; import org.apache.maven.index.ArtifactInfo; import org.apache.maven.index.DefaultIndexer; import org.apache.maven.index.DefaultIndexerEngine; import org.apache.maven.index.DefaultQueryCreator; import org.apache.maven.index.DefaultSearchEngine; import org.apache.maven.index.FlatSearchRequest; import org.apache.maven.index.FlatSearchResponse; import org.apache.maven.index.Indexer; import org.apache.maven.index.MAVEN; import org.apache.maven.index.context.IndexCreator; import org.apache.maven.index.context.IndexingContext; import org.apache.maven.index.creator.JarFileContentsIndexCreator; import org.apache.maven.index.creator.MinimalArtifactInfoIndexCreator; import org.apache.maven.index.expr.UserInputSearchExpression; import org.eclipse.core.runtime.IProgressMonitor; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.nio.file.Paths; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; public class ArtifactSearcher { private static ClassSearcher classSearcher = null; private static final String contextId = "indexer"; private static final String repositoryId = "repo"; private static String extensionPath; private static final String index = "index"; private static final String artifactUsage = "ArtifactUsage.json"; public static void initialize(String path){ extensionPath = path; } public static List searchByClassName(String className, IProgressMonitor monitor) { if (classSearcher == null) { constructContext(); } try { className = className.toLowerCase(); return classSearcher.searchByClassName(className); } catch (Exception e) { return new ArrayList<>(); } } public static List searchByIdentifier(String groupId, String artifactId, IProgressMonitor monitor) { if (classSearcher == null) { constructContext(); } try { return classSearcher.searchByIdentifier(groupId, artifactId); } catch (Exception e) { return new ArrayList<>(); } } public static Boolean controlIndexerContext(Boolean controlParam, IProgressMonitor monitor) { if (classSearcher == null) { return true; } else { return classSearcher.controlIndexerContext(controlParam); } } private static void constructContext() { try { final String indexPath = Paths.get(extensionPath, index).toString(); final String artifactUsagePath = Paths.get(extensionPath, artifactUsage).toString(); classSearcher = new ClassSearcher(contextId, repositoryId, indexPath, artifactUsagePath); } catch (Exception e) { classSearcher = null; e.printStackTrace(); } } } class ClassSearcher { private BaseClassSearcher mavenSearcher; private NetSearcher netSearcher; private Map artifactUsageDict; private final int fuzzyResultThreshold = 1000; private final Set azureSet = new HashSet<>(); private final String contextId; private final String repositoryId; private final String indexPath; private final String artifactUsagePath; { final String azureArtifacts[] = { "adal4j", "azure-mgmt-appservice", "applicationinsights-web", "azure-batch", "azure-mgmt-batchai", "azure-mgmt-cdn", "azure-mgmt-containerinstance", "azure-cognitiveservices-computervision", "azure-cognitiveservices-videosearch", "azure-cognitiveservices-parent", "azure-cognitiveservices-websearch", "azure-cognitiveservices-customimagesearch", "azure-cognitiveservices-visualsearch", "azure-cognitiveservices-newssearch", "azure-cognitiveservices-customsearch", "azure-cognitiveservices-autosuggest", "azure-cognitiveservices-spellcheck", "azure-cognitiveservices-faceapi", "azure-cognitiveservices-contentmoderator", "azure-computervision", "azure-cognitiveservices-luis-runtime", "azure-faceapi", "azure-cognitiveservices-entitysearch", "azure-cognitiveservices-imagesearch", "azure-cognitiveservices-textanalytics", "azure-cognitiveservices-language", "azure-cognitiveservices-luis-authoring", "azure-cognitiveservices-customvision-training", "azure-cognitiveservices-customvision-prediction", "azure-mgmt-containerregistry", "azure-mgmt-containerservice", "azure-documentdb", "azure-mgmt-datalake-analytics", "azure-data-lake-store-sdk", "azure-mgmt-dns", "azure-svc-mgmt", "azure-eventgrid", "azure-eventhubs", "azure-functions-java-library", "azure-client-authentication", "azure-arm-client-runtime", "azure-mgmt-hdinsight", "iot-service-client", "azure-keyvault", "azure-mgmt-mixedreality", "azure-mgmt-labservices", "azure-mgmt-monitor", "azure-mgmt-network", "azure-mgmt-privatedns", "azure-mgmt-redis", "azure-mgmt-resources", "azure-mgmt-resourcegraph", "azure-servicebus", "sf", "azure-mgmt-streamanalytics", "mssql-jdbc", "azure-storage-blob", "azure-storage-queue", "azure-mgmt-trafficmanager", "azure-mgmt-compute", "azure", "azure-core", }; azureSet.addAll(Arrays.asList(azureArtifacts)); } private static Comparator orderByRule = new Comparator() { @Override public int compare(ArtifactResult r1, ArtifactResult r2) { if (r1.getKind() < r2.getKind() || (r1.getKind() == r2.getKind() && r1.getUsage() > r2.getUsage()) || (r1.getKind() == r2.getKind() && r1.getUsage() == r2.getUsage() && r1.getClassName().toLowerCase().compareTo(r2.getClassName().toLowerCase()) < 0)) { return -1; } else if (r2.getKind() < r1.getKind() || (r2.getKind() == r1.getKind() && r2.getUsage() > r1.getUsage()) || (r2.getKind() == r1.getKind() && r2.getUsage() == r1.getUsage() && r2.getClassName().toLowerCase().compareTo(r1.getClassName().toLowerCase()) < 0)) { return 1; } else { return 0; } } }; public ClassSearcher(String contextId, String repositoryId, String indexPath, String artifactUsagePath) { this.contextId = contextId; this.repositoryId = repositoryId; this.indexPath = indexPath; this.artifactUsagePath = artifactUsagePath; constructMavenSearcher(); constructNetSearcher(); } private Boolean constructMavenSearcher() { try { artifactUsageDict = new Gson().fromJson(new JsonReader(new FileReader(artifactUsagePath)), new TypeToken>() { }.getType()); mavenSearcher = new BaseClassSearcher(contextId, repositoryId, indexPath); return true; } catch (Exception e) { if (mavenSearcher != null) { mavenSearcher.turnOffIndexerContext(); } mavenSearcher = null; artifactUsageDict = null; e.printStackTrace(); return false; } } private Boolean constructNetSearcher() { try { this.netSearcher = new NetSearcher(); return true; } catch (Exception e) { this.netSearcher = null; e.printStackTrace(); return false; } } public List searchByClassName(String className) { Map r1 = mavenSearcher != null ? mavenSearcher.searchByClassName(className) : new HashMap<>(); if (r1.size() < 5 && netSearcher != null) { final Map r2 = netSearcher.searchByClassName(className); r2.putAll(r1); // r1 will override r2 if necessary r1 = r2; } final List result = new ArrayList<>(r1.values()); final List azureResult = new ArrayList<>(); for (final ArtifactResult r : result) { final String id = r.getGroupId() + ":" + r.getArtifactId(); if (artifactUsageDict.containsKey(id)) { r.setUsage(artifactUsageDict.get(r.getGroupId() + ":" + r.getArtifactId())); } else { r.setUsage(0); } if (azureSet.contains(r.getArtifactId())) { azureResult.add(r); } } // filter final Iterator it = result.iterator(); while (it.hasNext()) { final ArtifactResult r = it.next(); if (r.getKind() == ArtifactResult.FUZZY && r.getUsage() < fuzzyResultThreshold) { it.remove(); } } Collections.sort(result, orderByRule); // Top-k instead? final int starNums = (int) Math.min(Math.round(result.size() / 5.0), 5); if (!azureResult.isEmpty()) { final ArtifactResult ar = Collections.min(azureResult, orderByRule); if (starNums > 1 && !result.subList(0, starNums).contains(ar)) { result.remove(ar); result.add(starNums - 1, ar); } } Collections.sort(result.subList(starNums, result.size()), new Comparator() { @Override public int compare(ArtifactResult r1, ArtifactResult r2) { return r1.getClassName().toLowerCase().compareTo(r2.getClassName().toLowerCase()); } }); return result; } public List searchByIdentifier(String groupId, String artifactId) { // does not use netSearcher return mavenSearcher.searchByIdentifier(groupId, artifactId); } public Boolean controlIndexerContext(Boolean controlParam) { if (controlParam == true) { return mavenSearcher == null ? constructMavenSearcher() : mavenSearcher.turnOnIndexerContext(); } else { return mavenSearcher == null ? true : mavenSearcher.turnOffIndexerContext(); } } } abstract class MavenSearcher { protected final Indexer indexer; protected final String contextId; protected final String repositoryId; protected final String indexPath; protected final List indexers; protected IndexingContext indexerContext; // protected static Comparator versionComparator = new Comparator() { // @Override // public int compare(Result r1, Result r2) { // // try { // Version v1 = versionScheme.parseVersion(r1.getVersion()); // Version v2 = versionScheme.parseVersion(r2.getVersion()); // return v2.compareTo(v1); //reverse order // } catch (InvalidVersionSpecificationException e) { // e.printStackTrace(); // return 1; // } // } // }; // private static GenericVersionScheme versionScheme = new GenericVersionScheme(); public MavenSearcher(String contextId, String repositoryId, String indexPath) throws IOException { this.indexer = new DefaultIndexer(new DefaultSearchEngine(), new DefaultIndexerEngine(), new DefaultQueryCreator()); this.contextId = contextId; this.repositoryId = repositoryId; this.indexPath = indexPath; indexers = new ArrayList<>(); indexers.add(new MinimalArtifactInfoIndexCreator()); indexers.add(new JarFileContentsIndexCreator()); } @Override protected void finalize() throws IOException { indexer.closeIndexingContext(indexerContext, false); } } class BaseClassSearcher extends MavenSearcher { private LevenshteinDistance editDistanceCalculator = new LevenshteinDistance(); public BaseClassSearcher(String contextId, String repositoryId, String indexPath) throws IOException { super(contextId, repositoryId, indexPath); this.indexerContext = indexer.createIndexingContext(contextId, repositoryId, null, new File(indexPath), null, null, true, true, indexers); } public Map searchByClassName(String className) { if (indexerContext == null) { return new HashMap<>(); } // UserInputSearchExpression supports prefix search in nature // ~ enables fuzzy search with maximal edit distances 2 final Query q = indexer.constructQuery(MAVEN.CLASSNAMES, new UserInputSearchExpression(className + "~")); final BooleanQuery bq = new BooleanQuery.Builder().add(q, Occur.MUST).build(); try { final List result = search(bq, className); final Map resultMap = new HashMap<>(); for (final ArtifactResult r : result) { if (!resultMap.containsKey(r.getFullClassName())) { resultMap.put(r.getFullClassName(), r); } } return resultMap; } catch (IOException e) { return new HashMap<>(); } } public List searchByIdentifier(String groupId, String artifactId) { if (indexerContext == null) { return new ArrayList<>(); } Builder builder; builder = new BooleanQuery.Builder(); if (!groupId.equals("")) { final Query query = indexer.constructQuery(MAVEN.GROUP_ID, new UserInputSearchExpression(groupId)); builder = builder.add(query, Occur.MUST); } if (!artifactId.equals("")) { final Query query = indexer.constructQuery(MAVEN.ARTIFACT_ID, new UserInputSearchExpression(artifactId)); builder = builder.add(query, Occur.MUST); } final BooleanQuery bq = builder.build(); try { final FlatSearchResponse response = indexer.searchFlat(new FlatSearchRequest(bq, indexerContext)); final List resultList = new ArrayList<>(); for (final ArtifactInfo r : response.getResults()) { resultList.add(new ArtifactResult(r.getGroupId(), r.getArtifactId(), r.getVersion(), "", "", -1, -1)); } return resultList; } catch (IOException e) { return new ArrayList<>(); } } private List search(Query q, String queryClassname) throws IOException { final FlatSearchResponse response; response = indexer.searchFlat(new FlatSearchRequest(q, indexerContext)); final List resultList = new ArrayList<>(); for (final ArtifactInfo r : response.getResults()) { final String[] fullClassnameList = r.getClassNames().split("\n"); for (String fullClassname : fullClassnameList) { fullClassname = fullClassname.substring(1).replaceAll("/", "."); final int matchKind = isMatch(fullClassname, queryClassname); if (matchKind == ArtifactResult.PREFIX) { resultList.add(new ArtifactResult(r.getGroupId(), r.getArtifactId(), r.getVersion(), fullClassname.substring(fullClassname.lastIndexOf(".") + 1), fullClassname, -1, ArtifactResult.PREFIX)); } else if (matchKind == ArtifactResult.FUZZY) { resultList.add(new ArtifactResult(r.getGroupId(), r.getArtifactId(), r.getVersion(), fullClassname.substring(fullClassname.lastIndexOf(".") + 1), fullClassname, -1, ArtifactResult.FUZZY)); } } } return resultList; } private int isMatch(String fullClassName, String queryClassName) { final String fc = fullClassName.substring(fullClassName.lastIndexOf(".") + 1).toLowerCase(); final String qc = queryClassName.indexOf('.') != -1 ? queryClassName.substring(queryClassName.lastIndexOf(".") + 1).toLowerCase() : queryClassName; if (fc.startsWith(qc)) { return ArtifactResult.PREFIX; } else if (fc.length() >= qc.length() && editDistanceCalculator.apply(fc, qc) <= 2) { //(fc.substring(0, 1).equals(qc.substring(0, 1)) || //fc.substring(fc.length() - 1).equals(qc.substring(qc.length() - 1))) && return ArtifactResult.FUZZY; } else { return 0; } } public Boolean turnOnIndexerContext() { if (indexerContext == null) { try { indexerContext = indexer.createIndexingContext(contextId, repositoryId, null, new File(indexPath), null, null, true, true, indexers); return true; } catch (IOException | IllegalArgumentException e) { indexerContext = null; return false; } } return true; } public Boolean turnOffIndexerContext() { if (indexerContext == null) { return true; } try { indexer.closeIndexingContext(indexerContext, false); indexerContext = null; return true; } catch (IOException e) { return false; } } } class NetSearcher { private OkHttpClient client; private final String urlPrefix; private final String urlSuffix; private final int maxResult; public NetSearcher() { client = new OkHttpClient.Builder().readTimeout(2, TimeUnit.SECONDS).build(); //timeout: 2 seconds urlPrefix = "https://search.maven.org/solrsearch/select?q="; urlSuffix = "&rows=10&wt=json"; maxResult = 5; } public Map searchByClassName(String className) { final String exactSearchUrl; final String prefixSearchUrl; if (className.indexOf('.') != -1) { exactSearchUrl = urlPrefix + "fc:" + className + urlSuffix; prefixSearchUrl = urlPrefix + "fc:" + className + "*" + urlSuffix; } else { exactSearchUrl = urlPrefix + "c:" + className + urlSuffix; prefixSearchUrl = urlPrefix + "c:" + className + "*" + urlSuffix; } final Request exactRequest = new Request.Builder().url(exactSearchUrl).build(); final Request prefixRequest = new Request.Builder().url(prefixSearchUrl).build(); final CountDownLatch latch = new CountDownLatch(2); final String[] exactResponse = new String[] { "" }; final String[] prefixResponse = new String[] { "" }; client.newCall(exactRequest).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { latch.countDown(); } @Override public void onResponse(Call call, Response response) { try { exactResponse[0] = response.body().string(); } catch (IOException e) { } latch.countDown(); } }); client.newCall(prefixRequest).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { latch.countDown(); } @Override public void onResponse(Call call, Response response) { try { prefixResponse[0] = response.body().string(); } catch (IOException e) { } latch.countDown(); } }); try { latch.await(); } catch (InterruptedException e) { return new HashMap<>(); } return processResponse(exactResponse[0], prefixResponse[0], className); } private Map processResponse(String exactResponse, String prefixResponse, String queryClassName) { final Map resultMap = new HashMap<>(); if (!exactResponse.isEmpty()) { final NetResponseResult exactResult = new Gson().fromJson(exactResponse, NetResponseResult.class); addResult(exactResult, resultMap, queryClassName, ArtifactResult.PREFIX); } if (!prefixResponse.isEmpty()) { final NetResponseResult prefixResult = new Gson().fromJson(prefixResponse, NetResponseResult.class); addResult(prefixResult, resultMap, queryClassName, ArtifactResult.PREFIX); } return resultMap; } private void addResult(NetResponseResult responseResult, Map resultMap, String queryClassName, int kind) { if (resultMap.size() >= maxResult) { return; } final Map consultMap = responseResult.getHighlighting(); for (final NetResponseResult.Info info : responseResult.getResponse().getDocs()) { final String id = info.getId(); if (consultMap.containsKey(id)) { final List fullClassNames = consultMap.get(id).getFch(); for (String fullClassName : fullClassNames) { fullClassName = fullClassName.replaceAll("", "").replaceAll("", ""); if (!resultMap.containsKey(fullClassName) && isMatch(fullClassName, queryClassName)) { resultMap.put(fullClassName, new ArtifactResult(info.getG(), info.getA(), info.getV(), fullClassName.substring(fullClassName.lastIndexOf('.') + 1), fullClassName, -1, kind)); if (resultMap.size() >= maxResult) { return; } } } } } } private Boolean isMatch(String fullClassName, String queryClassName) { final String fc = fullClassName.substring(fullClassName.lastIndexOf(".") + 1).toLowerCase(); final String qc = queryClassName.indexOf('.') != -1 ? queryClassName.substring(queryClassName.lastIndexOf(".") + 1).toLowerCase() : queryClassName; return fc.startsWith(qc); } } ================================================ FILE: jdtls.ext/com.microsoft.java.maven.plugin/src/main/java/com/microsoft/java/maven/GetPosHandler.java ================================================ /******************************************************************************* * Copyright (c) 2019 Microsoft Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Microsoft Corporation - initial API and implementation *******************************************************************************/ package com.microsoft.java.maven; import org.apache.commons.lang3.StringUtils; import org.eclipse.lsp4j.Position; import org.xml.sax.Attributes; import org.xml.sax.Locator; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; import java.util.ArrayList; import java.util.List; import java.util.Stack; class GetPosHandler extends DefaultHandler { private Locator locator; private PosInfo posInfo = new PosInfo(); private static final int LINE_OFFSET = 1; private static final int COLUMN_OFFSET = 1; private static final int DEPENDENCIES_LENGTH = 15; // the length of "
" private static final int PROJECT_LENGTH = 10; // the length of "" private String targetDependency; List dependenciesList = new ArrayList<>(); String groupId; String artifactId; Stack nodes = new Stack<>(); public PosInfo getPosInfo() { return posInfo; } @Override public void setDocumentLocator(Locator locator) { this.locator = locator; } @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { nodes.push(qName); } @Override public void characters(char[] ch, int start, int length) throws SAXException { final String content = new String(ch, start, length); if (isInArtifactIdNode()) { groupId = content; } else if (isInGroupIdNode()) { artifactId = content; } } private boolean isInDependencyNode() { return nodes.contains("dependency"); } private boolean isInGroupIdNode() { return isInDependencyNode() && "groupId".equals(nodes.peek()); } private boolean isInArtifactIdNode() { return isInDependencyNode() && "artifactId".equals(nodes.peek()); } @Override public void endElement(String uri, String localName, String qName) throws SAXException { String top = null; while (!nodes.empty() && !StringUtils.equals(top, qName)) { top = nodes.pop(); } // post process switch(qName) { case "dependencies": if (!nodes.empty() && "project".equals(nodes.peek())) { posInfo.alreadyHasDependencies = true; posInfo.pos = new Position(locator.getLineNumber() - LINE_OFFSET, locator.getColumnNumber() - COLUMN_OFFSET - DEPENDENCIES_LENGTH); } break; case "project": if (posInfo.pos == null){ posInfo.pos = new Position(locator.getLineNumber() - LINE_OFFSET, locator.getColumnNumber() - COLUMN_OFFSET - PROJECT_LENGTH); } break; case "dependency": dependenciesList.add(groupId + ":" + artifactId); groupId = artifactId = ""; break; } } @Override public void endDocument() throws SAXException { if (dependenciesList.contains(targetDependency)) { posInfo.needAddDependency = false; } } public void setTargetDependency(String targetDependency) { this.targetDependency = targetDependency; } } ================================================ FILE: jdtls.ext/com.microsoft.java.maven.plugin/src/main/java/com/microsoft/java/maven/NetResponseResult.java ================================================ /******************************************************************************* * Copyright (c) 2019 Microsoft Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Microsoft Corporation - initial API and implementation *******************************************************************************/ package com.microsoft.java.maven; import java.util.ArrayList; import java.util.HashMap; import java.util.List; public class NetResponseResult { Header responseHeader; Res response; HashMap highlighting; public Res getResponse() { return this.response; } public HashMap getHighlighting() { return this.highlighting; } public class Header { String status; String QTime; Params params; } public class Params { String q; String hlsnippets; String core; String hl; String indent; String fl; String start; String hlfl; String sort; String rows; String wt; String version; } public class Res { int numFound; int start; List docs; public List getDocs() { return this.docs; } } public class Info { String id; String g; String a; String v; String p; String timestamp; ArrayList ec; ArrayList tags; public String getId() { return this.id; } public String getG() { return this.g; } public String getA() { return this.a; } public String getV() { return this.v; } } public class FullClassNameList { ArrayList fch; public ArrayList getFch() { return this.fch; } } } ================================================ FILE: jdtls.ext/com.microsoft.java.maven.plugin/src/main/java/com/microsoft/java/maven/PluginActivator.java ================================================ /******************************************************************************* * Copyright (c) 2019 Microsoft Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Microsoft Corporation - initial API and implementation *******************************************************************************/ package com.microsoft.java.maven; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; public class PluginActivator implements BundleActivator { public static final String PLUGIN_ID = "com.microsoft.java.maven.plugin"; public static BundleContext context = null; @Override public void start(BundleContext context) throws Exception { PluginActivator.context = context; } @Override public void stop(BundleContext context) throws Exception { } } ================================================ FILE: jdtls.ext/com.microsoft.java.maven.plugin/src/main/java/com/microsoft/java/maven/PosInfo.java ================================================ /******************************************************************************* * Copyright (c) 2019 Microsoft Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Microsoft Corporation - initial API and implementation *******************************************************************************/ package com.microsoft.java.maven; import org.eclipse.lsp4j.Position; class PosInfo { Position pos = null; Boolean alreadyHasDependencies = false; Boolean needAddDependency = true; } ================================================ FILE: jdtls.ext/com.microsoft.java.maven.plugin/src/main/java/com/microsoft/java/maven/handler/DelegateCommandHandler.java ================================================ /******************************************************************************* * Copyright (c) 2019 Microsoft Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Microsoft Corporation - initial API and implementation *******************************************************************************/ package com.microsoft.java.maven.handler; import com.microsoft.java.maven.AddDependencyHandler; import com.microsoft.java.maven.ArtifactSearcher; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jdt.ls.core.internal.IDelegateCommandHandler; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; @SuppressWarnings("restriction") public class DelegateCommandHandler implements IDelegateCommandHandler { @Override public Object executeCommand(String commandId, List arguments, IProgressMonitor monitor) throws Exception { if (Objects.equals(commandId, "java.maven.initializeSearcher")) { ArtifactSearcher.initialize((String) arguments.get(0)); } else if (Objects.equals(commandId, "java.maven.searchArtifact")) { final Map param = (Map) arguments.get(0); if (param.get("searchType").equals("CLASSNAME")) { return ArtifactSearcher.searchByClassName((String) param.get("className"), monitor); } else if (param.get("searchType").equals("IDENTIFIER")) { return ArtifactSearcher.searchByIdentifier( (String) param.get("groupId"), (String) param.get("artifactId"), monitor ); } else { return new ArrayList<>(); } } else if (Objects.equals(commandId, "java.maven.addDependency")) { final AddDependencyHandler.AddDependencyParams params = new AddDependencyHandler.AddDependencyParams( (String) arguments.get(0), (String) arguments.get(1), (String) arguments.get(2), ((Double) arguments.get(3)).intValue(), ((Double) arguments.get(4)).intValue(), ((Double) arguments.get(5)).intValue() ); return AddDependencyHandler.addDependency(params, monitor); } else if (Objects.equals(commandId, "java.maven.controlContext")) { return ArtifactSearcher.controlIndexerContext((boolean) arguments.get(0), monitor); } return null; } } ================================================ FILE: jdtls.ext/com.microsoft.java.maven.target/com.microsoft.java.maven.tp.target ================================================ ================================================ FILE: jdtls.ext/com.microsoft.java.maven.target/pom.xml ================================================ 4.0.0 com.microsoft.java.maven parent 0.39.0 com.microsoft.java.maven.tp ${base.name} :: Target Platform eclipse-target-definition ================================================ FILE: jdtls.ext/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Mingw, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} if [ "$MVNW_VERBOSE" = true ]; then echo $MAVEN_PROJECTBASEDIR fi MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: jdtls.ext/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: jdtls.ext/pom.xml ================================================ 4.0.0 com.microsoft.java.maven parent ${base.name} :: Parent 0.39.0 pom JDTLS Maven Extension UTF-8 4.0.3 com.microsoft.java.maven.plugin com.microsoft.java.maven.target org.apache.maven.plugins maven-failsafe-plugin 2.15 integration-tests integration-test verify ${failsafeArgLine} ${skip.integration.tests} org.apache.maven.plugins maven-dependency-plugin get-libs copy validate false ${basedir}/lib/ true org.eclipse.tycho target-platform-configuration ${tycho-version} p2 com.microsoft.java.maven com.microsoft.java.maven.tp ${project.version} linux gtk x86_64 win32 win32 x86_64 macosx cocoa x86_64 org.eclipse.tycho tycho-maven-plugin ${tycho-version} true oss.sonatype.org https://oss.sonatype.org/content/repositories/snapshots/ true ================================================ FILE: package.json ================================================ { "name": "vscode-maven", "displayName": "Maven for Java", "description": "%description%", "version": "0.45.3", "icon": "resources/logo.png", "publisher": "vscjava", "preview": false, "aiKey": "7c4292ac-8ca8-4e02-9f1c-0b73e1eeeca4", "engines": { "vscode": "^1.75.0" }, "enabledApiProposals": [], "capabilities": { "virtualWorkspaces": false, "untrustedWorkspaces": { "supported": "limited", "restrictedConfigurations": [ "maven.executable.path", "maven.executable.options", "maven.executable.preferMavenWrapper", "maven.terminal.customEnv", "maven.terminal.favorites", "maven.pomfile.autoUpdateEffectivePOM" ] } }, "categories": [ "Programming Languages", "Other" ], "keywords": [ "Maven", "Java" ], "license": "MIT", "homepage": "https://github.com/Microsoft/vscode-maven/", "repository": { "type": "git", "url": "https://github.com/Microsoft/vscode-maven.git" }, "activationEvents": [ "workspaceContains:**/pom.xml" ], "main": "./dist/extension", "contributes": { "javaExtensions": [ "./jdtls.ext/com.microsoft.java.maven.plugin/target/com.microsoft.java.maven.plugin-0.39.0.jar" ], "commands": [ { "command": "maven.explorer.refresh", "title": "%contributes.commands.maven.explorer.refresh%", "category": "Maven", "icon": "$(refresh)" }, { "command": "maven.goal.clean", "title": "clean", "category": "Maven" }, { "command": "maven.goal.validate", "title": "validate", "category": "Maven" }, { "command": "maven.goal.compile", "title": "compile", "category": "Maven" }, { "command": "maven.goal.test", "title": "test", "category": "Maven" }, { "command": "maven.goal.test-compile", "title": "test-compile", "category": "Maven" }, { "command": "maven.goal.package", "title": "package", "category": "Maven" }, { "command": "maven.goal.verify", "title": "verify", "category": "Maven" }, { "command": "maven.goal.install", "title": "install", "category": "Maven" }, { "command": "maven.goal.site", "title": "site", "category": "Maven" }, { "command": "maven.goal.deploy", "title": "deploy", "category": "Maven" }, { "command": "maven.goal.custom", "title": "%contributes.commands.maven.goal.custom%", "category": "Maven" }, { "command": "maven.project.effectivePom", "title": "%contributes.commands.maven.project.effectivePom%", "category": "Maven" }, { "command": "maven.project.openPom", "title": "%contributes.commands.maven.project.openPom%", "category": "Maven", "icon": "$(go-to-file)" }, { "command": "maven.archetype.generate", "title": "%contributes.commands.maven.archetype.generate%", "category": "Maven", "icon": "$(add)" }, { "command": "maven.archetype.update", "title": "%contributes.commands.maven.archetype.update%", "category": "Maven" }, { "command": "maven.history", "title": "%contributes.commands.maven.history%", "category": "Maven" }, { "command": "maven.goal.execute", "title": "%contributes.commands.maven.goal.execute%", "category": "Maven" }, { "command": "maven.goal.execute.fromProjectManager", "title": "Run Maven Commands...", "category": "Maven" }, { "command": "maven.lifecycle.execute", "title": "%contributes.commands.maven.plugin.execute%", "category": "Maven", "icon": "$(play)" }, { "command": "maven.goal.execute.fromLifecycleMenu", "title": "%contributes.commands.maven.plugin.execute%", "category": "Maven", "icon": "$(play)" }, { "command": "maven.goal.execute.fromFavoritesMenu", "title": "%contributes.commands.maven.plugin.execute%", "category": "Maven", "icon": "$(play)" }, { "command": "maven.plugin.execute", "title": "%contributes.commands.maven.plugin.execute%", "category": "Maven", "icon": "$(play)" }, { "command": "maven.plugin.debug", "title": "%contributes.commands.maven.plugin.debug%", "category": "Maven" }, { "command": "maven.view.flat", "title": "%contributes.commands.maven.view.flat%", "category": "Maven", "icon": "$(list-flat)" }, { "command": "maven.view.hierarchical", "title": "%contributes.commands.maven.view.hierarchical%", "category": "Maven", "icon": "$(list-tree)" }, { "command": "maven.project.addDependency", "title": "%contributes.commands.maven.project.addDependency%", "category": "Maven", "icon": "$(add)" }, { "command": "maven.project.showDependencies", "title": "%contributes.commands.maven.project.showDependencies%", "category": "Maven" }, { "command": "maven.project.excludeDependency", "title": "%contributes.commands.maven.project.excludeDependency%", "category": "Maven" }, { "command": "maven.project.setDependencyVersion", "title": "%contributes.commands.maven.project.setDependencyVersion%", "category": "Maven", "icon": "$(wrench)" }, { "command": "maven.project.addFavorite", "title": "%contributes.commands.maven.project.addFavorite%", "category": "Maven", "icon": "$(add)" }, { "command": "maven.dependency.goToEffective", "title": "%contributes.commands.maven.dependency.goToEffective%", "category": "Maven" }, { "command": "maven.project.goToDefinition", "title": "%contributes.commands.maven.project.goToDefinition%", "category": "Maven" }, { "command": "maven.favorites", "title": "%contributes.commands.maven.favorites%", "category": "Maven" }, { "command": "maven.java.projectConfiguration.update", "title": "%contributes.commands.maven.java.projectConfiguration.update%", "icon": "$(sync)", "category": "Maven" }, { "command": "maven.profile.select", "title": "Select", "icon": "$(add)", "category": "Maven" }, { "command": "maven.profile.deselect", "title": "Deselect", "icon": "$(remove)", "category": "Maven" }, { "command": "maven.new.module", "title": "%contributes.commands.maven.module.new%", "category": "Maven" } ], "views": { "explorer": [ { "id": "mavenProjects", "name": "%contributes.views.explorer.mavenProjects%", "when": "workbenchState == empty || vscode-maven:activated", "contextualTitle": "%contributes.views.explorer.mavenProjects%", "icon": "resources/icons/dark/project.svg" } ] }, "viewsWelcome": [ { "view": "mavenProjects", "contents": "%contributes.viewsWelcome.mavenProjects.untrustedWorkspaces%", "when": "!isWorkspaceTrusted" } ], "submenus": [ { "id": "maven/run", "label": "Run Maven Commands..." }, { "id": "explorer/maven", "label": "Maven" } ], "menus": { "commandPalette": [ { "command": "maven.goal.clean", "when": "never" }, { "command": "maven.goal.validate", "when": "never" }, { "command": "maven.goal.compile", "when": "never" }, { "command": "maven.goal.test", "when": "never" }, { "command": "maven.goal.test-compile", "when": "never" }, { "command": "maven.goal.package", "when": "never" }, { "command": "maven.goal.verify", "when": "never" }, { "command": "maven.goal.install", "when": "never" }, { "command": "maven.goal.site", "when": "never" }, { "command": "maven.goal.deploy", "when": "never" }, { "command": "maven.goal.custom", "when": "never" }, { "command": "maven.project.effectivePom", "when": "never" }, { "command": "maven.explorer.refresh", "when": "never" }, { "command": "maven.project.openPom", "when": "never" }, { "command": "maven.goal.execute.fromProjectManager", "when": "never" }, { "command": "maven.lifecycle.execute", "when": "never" }, { "command": "maven.goal.execute.fromLifecycleMenu", "when": "never" }, { "command": "maven.goal.execute.fromFavoritesMenu", "when": "never" }, { "command": "maven.plugin.execute", "when": "never" }, { "command": "maven.plugin.debug", "when": "never" }, { "command": "maven.project.showDependencies", "when": "never" }, { "command": "maven.project.excludeDependency", "when": "never" }, { "command": "maven.project.setDependencyVersion", "when": "never" }, { "command": "maven.dependency.goToEffective", "when": "never" }, { "command": "maven.project.goToDefinition", "when": "never" }, { "command": "maven.archetype.generate", "when": "!java:projectManagerActivated" }, { "command": "maven.favorites", "when": "isWorkspaceTrusted" }, { "command": "maven.history", "when": "isWorkspaceTrusted" }, { "command": "maven.goal.execute", "when": "isWorkspaceTrusted" }, { "command": "maven.java.projectConfiguration.update", "when": "false" }, { "command": "maven.profile.select", "when": "false" }, { "command": "maven.profile.deselect", "when": "false" } ], "explorer/context": [ { "submenu": "explorer/maven", "group": "1_javaactions@100" } ], "view/title": [ { "command": "maven.java.projectConfiguration.update", "when": "view == mavenProjects && javaLSReady", "group": "navigation@05" }, { "command": "maven.view.flat", "when": "view == mavenProjects && config.maven.view != flat", "group": "navigation@0a" }, { "command": "maven.view.hierarchical", "when": "view == mavenProjects && config.maven.view != hierarchical", "group": "navigation@0b" }, { "command": "maven.archetype.generate", "when": "view == mavenProjects", "group": "navigation@1" } ], "view/item/context": [ { "submenu": "maven/run", "when": "view == mavenProjects && viewItem == maven:project" }, { "command": "maven.project.effectivePom", "when": "view == mavenProjects && viewItem == maven:project", "group": "0-pom@1" }, { "command": "maven.project.showDependencies", "when": "view == mavenProjects && viewItem == maven:project", "group": "0-pom@0" }, { "command": "maven.project.excludeDependency", "when": "view == mavenProjects && viewItem =~ /maven:dependency(?!.*?\\b\\+root\\b)/", "group": "0-dependency@0" }, { "command": "maven.project.setDependencyVersion", "when": "view == mavenProjects && viewItem =~ /maven:dependency(?=.*?\\b\\+conflict\\b)/", "group": "inline" }, { "command": "maven.dependency.goToEffective", "when": "view == mavenProjects && viewItem =~ /maven:dependency(?=.*?\\b\\+conflict\\b)/", "group": "0-dependency@2" }, { "command": "maven.project.goToDefinition", "when": "view == mavenProjects && viewItem =~ /maven:dependency/", "group": "0-dependency@1" }, { "command": "maven.project.openPom", "when": "view == mavenProjects && viewItem == maven:project", "group": "inline" }, { "command": "maven.plugin.execute", "when": "view == mavenProjects && viewItem == maven:pluginGoal", "group": "inline" }, { "command": "maven.plugin.execute", "when": "view == mavenProjects && viewItem == maven:pluginGoal", "group": "1@1" }, { "command": "maven.plugin.debug", "when": "view == mavenProjects && viewItem == maven:pluginGoal", "group": "1@2" }, { "command": "maven.explorer.refresh", "when": "view == mavenProjects && viewItem == maven:plugin", "group": "1@1" }, { "command": "maven.explorer.refresh", "when": "view == mavenProjects && viewItem == maven:menu", "group": "inline" }, { "command": "maven.project.addDependency", "when": "view == javaProjectExplorer && viewItem =~ /java:container(?=.*?\\b\\+maven\\b)/", "group": "inline" }, { "command": "maven.project.addDependency", "when": "view == mavenProjects && viewItem == maven:dependenciesMenu", "group": "inline@0" }, { "command": "maven.project.addFavorite", "when": "view == mavenProjects && viewItem == maven:favoritesMenu", "group": "inline@0" }, { "command": "maven.explorer.refresh", "when": "view == mavenProjects && viewItem == maven:dependenciesMenu", "group": "inline@1" }, { "command": "maven.lifecycle.execute", "when": "view == mavenProjects && viewItem == maven:lifecycle", "group": "inline" }, { "command": "maven.lifecycle.execute", "when": "view == mavenProjects && viewItem == maven:lifecycle", "group": "1@1" }, { "command": "maven.goal.execute.fromFavoritesMenu", "when": "view == mavenProjects && viewItem == maven:favorites", "group": "inline" }, { "command": "maven.goal.execute.fromFavoritesMenu", "when": "view == mavenProjects && viewItem == maven:favorites", "group": "1@1" }, { "command": "maven.profile.select", "when": "view == mavenProjects && viewItem == maven:profile+unchecked", "group": "inline" }, { "command": "maven.profile.deselect", "when": "view == mavenProjects && viewItem == maven:profile+checked", "group": "inline" } ], "javaProject.maven": [ { "command": "maven.project.openPom", "group": "maven@20" }, { "command": "maven.goal.execute.fromProjectManager", "group": "maven@30" } ], "explorer/maven": [ { "command": "maven.archetype.generate", "when": "config.maven.showInExplorerContextMenu && explorerResourceIsFolder", "group": "maven@1" }, { "command": "maven.new.module", "group": "maven@2" }, { "command": "maven.project.effectivePom", "when": "resourceFilename == pom.xml", "group": "maven@3" } ], "maven/run": [ { "command": "maven.goal.custom", "group": "5-custom@5" }, { "command": "maven.favorites", "group": "5-custom@3" }, { "command": "maven.history", "group": "5-custom@0" }, { "command": "maven.goal.clean", "group": "1-lifecycle@10" }, { "command": "maven.goal.package", "group": "1-lifecycle@20" }, { "command": "maven.goal.install", "group": "1-lifecycle@30" }, { "command": "maven.goal.compile", "group": "1-lifecycle@40" }, { "command": "maven.goal.validate", "group": "3-lifecycle@50" }, { "command": "maven.goal.verify", "group": "3-lifecycle@60" }, { "command": "maven.goal.test", "group": "3-lifecycle@70" }, { "command": "maven.goal.test-compile", "group": "3-lifecycle@75" }, { "command": "maven.goal.site", "group": "4-lifecycle@80" }, { "command": "maven.goal.deploy", "group": "4-lifecycle@90" } ] }, "configuration": [ { "title": "Maven for Java", "properties": { "maven.completion.gavEnabled": { "type": "boolean", "default": true, "description": "Enable GAV (GroupId, ArtifactId, Version) completions in pom.xml" }, "maven.settingsFile": { "type": [ "string", "null" ], "default": null, "description": "%configuration.maven.settingsFile%", "scope": "machine" }, "maven.excludedFolders": { "type": "array", "default": [ "**/.*", "**/node_modules", "**/target", "**/bin", "**/archetype-resources" ], "description": "%configuration.maven.excludedFolders%", "scope": "resource" }, "maven.executable.preferMavenWrapper": { "type": "boolean", "default": "true", "description": "%configuration.maven.executable.preferMavenWrapper%", "scope": "resource" }, "maven.executable.path": { "type": "string", "default": "", "description": "%configuration.maven.executable.path%", "scope": "machine-overridable" }, "maven.executable.options": { "anyOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } } ], "default": "", "description": "%configuration.maven.executable.options%", "scope": "machine-overridable" }, "maven.terminal.customEnv": { "type": "array", "items": { "type": "object", "title": "environment setting", "required": [ "environmentVariable", "value" ], "properties": { "environmentVariable": { "type": "string", "minLength": 1, "description": "%configuration.maven.terminal.customEnv.environmentVariable%" }, "value": { "type": "string", "description": "%configuration.maven.terminal.customEnv.value%" } } }, "default": [], "description": "%configuration.maven.terminal.customEnv%", "scope": "resource" }, "maven.terminal.favorites": { "type": "array", "items": { "type": "object", "title": "Favorite commands", "required": [ "command" ], "properties": { "alias": { "type": "string", "minLength": 1, "description": "%configuration.maven.terminal.favorites.alias%" }, "command": { "type": "string", "minLength": 1, "description": "%configuration.maven.terminal.favorites.command%" }, "debug": { "type": "boolean", "default": false, "description": "%configuration.maven.terminal.favorites.debug%" } } }, "default": [], "description": "%configuration.maven.terminal.favorites%", "scope": "resource" }, "maven.view": { "type": "string", "enum": [ "flat", "hierarchical" ], "default": "flat", "scope": "window", "description": "%configuration.maven.view%" }, "maven.showInExplorerContextMenu": { "type": "boolean", "default": "true", "description": "%configuration.maven.showInExplorerContextMenu%", "scope": "resource" }, "maven.pomfile.globPattern": { "type": "string", "default": "**/pom.xml", "description": "%configuration.maven.pomfile.globPattern%", "scope": "window" }, "maven.pomfile.autoUpdateEffectivePOM": { "type": "boolean", "default": false, "description": "%configuration.maven.pomfile.autoUpdateEffectivePOM%", "scope": "window" }, "maven.pomfile.prefetchEffectivePom": { "type": "boolean", "default": false, "description": "%configuration.maven.pomfile.prefetchEffectivePom%", "scope": "application" }, "maven.dependency.enableConflictDiagnostics": { "type": "boolean", "default": "true", "description": "%configuration.maven.dependency.enableConflictDiagnostics%", "scope": "window" }, "maven.projectOpenBehavior": { "default": "Interactive", "type": "string", "scope": "window", "description": "%configuration.maven.projectOpenBehavior%", "enum": [ "Interactive", "Open", "Add to Workspace", "None" ] }, "maven.explorer.projectName": { "default": "${project.name}", "type": "string", "scope": "window", "description": "%configuration.maven.explorer.projectName%", "enum": [ "${project.name}", "${project.artifactId}", "${project.artifactId}-${project.version}", "${project.groupId}.${project.artifactId}", "${project.groupId}.${project.artifactId}-${project.version}" ] } } } ] }, "scripts": { "vscode:prepublish": "webpack --mode production", "build-plugin": "node scripts/build-jdtls-ext.js", "compile": "tsc -p ./", "tslint": "eslint .", "test:unit": "mocha", "test:autotest": "node scripts/run-autotest-plans.js test-plans", "watch": "webpack --mode development --watch --progress", "webpack": "webpack --mode development", "update-tpn": "node scripts/update-third-party-notice.js", "update-xsd": "tsc scripts/generate-maven-xsd.ts && node scripts/generate-maven-xsd.js" }, "devDependencies": { "@types/fs-extra": "^4.0.15", "@types/glob": "^7.2.0", "@types/lodash": "^4.17.7", "@types/lru-cache": "^5.1.0", "@types/md5": "^2.3.5", "@types/minimatch": "^3.0.4", "@types/mocha": "^10.0.10", "@types/node": "^16.18.104", "@types/proxyquire": "^1.3.31", "@types/semver": "^7.5.8", "@types/vscode": "1.75.0", "@types/which": "^1.3.2", "@types/xml2js": "^0.4.14", "@typescript-eslint/eslint-plugin": "^5.62.0", "@typescript-eslint/parser": "^5.62.0", "eslint": "^8.57.0", "glob": "^7.2.3", "mocha": "^10.8.2", "proxyquire": "^2.1.3", "ts-loader": "^9.5.1", "ts-node": "^10.9.2", "typescript": "^4.8.4", "webpack": "^5.105.0", "webpack-cli": "^4.10.0" }, "dependencies": { "domhandler": "^5.0.3", "expand-home-dir": "0.0.3", "fast-glob": "^3.3.2", "fs-extra": "^4.0.3", "get-port": "^4.2.0", "htmlparser2": "^8.0.1", "jszip": "^3.10.1", "lodash": "^4.18.1", "lru-cache": "^6.0.0", "md5": "^2.2.1", "minimatch": "^3.1.5", "semver": "^7.6.3", "vscode-extension-telemetry-wrapper": "^0.15.2", "vscode-languageclient": "^7.0.0", "vscode-languageserver-protocol": "^3.17.5", "vscode-tas-client": "^0.1.84", "which": "^1.3.1", "xml2js": "^0.5.0" }, "overrides": { "serialize-javascript": ">=7.0.5" } } ================================================ FILE: package.nls.json ================================================ { "description": "Manage Maven projects, execute goals, generate project from archetype, improve user experience for Java developers.", "contributes.commands.maven.explorer.refresh": "Refresh", "contributes.commands.maven.goal.custom": "Custom... ", "contributes.commands.maven.project.effectivePom": "Show Effective POM", "contributes.commands.maven.project.openPom": "Open POM file", "contributes.commands.maven.archetype.generate": "New Project...", "contributes.commands.maven.module.new": "New Module...", "contributes.commands.maven.archetype.update": "Update Maven Archetype Catalog", "contributes.commands.maven.favorites": "Favorites...", "contributes.commands.maven.history": "History...", "contributes.commands.maven.goal.execute": "Execute Commands...", "contributes.commands.maven.plugin.execute": "Run", "contributes.commands.maven.plugin.debug": "Debug", "contributes.commands.maven.view.hierarchical": "Switch to hierarchical view", "contributes.commands.maven.view.flat": "Switch to flat view", "contributes.commands.maven.project.addDependency": "Add a dependency...", "contributes.commands.maven.project.showDependencies": "Show Dependencies", "contributes.commands.maven.project.goToDefinition": "Go to Definition", "contributes.commands.maven.project.excludeDependency": "Exclude Dependency", "contributes.commands.maven.project.setDependencyVersion": "Resolve Conflict...", "contributes.commands.maven.project.addFavorite": "Add a favorite...", "contributes.commands.maven.dependency.goToEffective": "Go to Effective Dependency", "contributes.views.explorer.mavenProjects": "Maven", "contributes.viewsWelcome.mavenProjects.untrustedWorkspaces": "Advanced features (e.g. executing lifecycle phases and plugin goals) are disabled in Restricted Mode for security concern.\nPOM editing assistance (e.g. [add a dependency](command:maven.project.addDependency)) is still available.\nLearn more about [Workspace Trust](https://aka.ms/vscode-workspace-trust).\n[Manage Workspace Trust](command:workbench.trust.manage)", "configuration.maven.excludedFolders": "Specifies file path pattern of folders to exclude while searching for Maven projects.", "configuration.maven.executable.preferMavenWrapper": "Specifies whether you prefer to use Maven wrapper. If true, it tries using 'mvnw' by walking up the parent folders. If false, or 'mvnw' is not found, it tries 'mvn' in PATH instead.", "configuration.maven.executable.path": "Specifies absolute path of your 'mvn' executable. When this value is empty, it tries using 'mvn' or 'mvnw' according to the value of 'maven.executable.preferMavenWrapper'.", "configuration.maven.executable.options": "Specifies default options for all mvn commands.", "configuration.maven.pomfile.autoUpdateEffectivePOM": "Specifies whether to update effective-pom automatically whenever changes detected.", "configuration.maven.pomfile.globPattern": "Specifies the glob pattern used to look for pom.xml files.", "configuration.maven.pomfile.prefetchEffectivePom": "Specifies whether to prefetch effective pom on startup.", "configuration.maven.terminal.customEnv": "Specifies an array of environment variable names and values. These environment variable values will be added to the terminal session before Maven is first executed.", "configuration.maven.terminal.customEnv.environmentVariable": "Name of the environment variable to set.", "configuration.maven.terminal.customEnv.value": "Value of the environment variable to set.", "configuration.maven.view": "Specifies the way of viewing Maven projects.", "configuration.maven.showInExplorerContextMenu": "If this value is true, add a command to create Maven Projects in the Explorer context menu for folders.", "configuration.maven.terminal.favorites": "Specify pre-defined favorite commands to execute.", "configuration.maven.terminal.favorites.alias": "A short name for the command.", "configuration.maven.terminal.favorites.command": "Content of the favorite command.", "configuration.maven.terminal.favorites.debug": "Whether to execute in debug mode.", "configuration.maven.settingsFile": "Specifies the absolute path of your maven configuration file, the default value is ~/.m2/settings.xml", "configuration.maven.dependency.enableConflictDiagnostics": "Specify whether to show diagnostics for conflict dependencies.", "configuration.maven.projectOpenBehavior": "Default method of opening newly created project.", "configuration.maven.explorer.projectName": "Format of project node name shown in Maven explorer.", "contributes.commands.maven.java.projectConfiguration.update": "Reload All Maven Projects" } ================================================ FILE: package.nls.zh-cn.json ================================================ { "description": "管理 Maven 项目,执行命令,从原型生成项目,改善 Java 开发人员的用户体验。", "contributes.commands.maven.explorer.refresh": "刷新", "contributes.commands.maven.goal.custom": "自定义…", "contributes.commands.maven.project.effectivePom": "显示 Effective POM", "contributes.commands.maven.project.openPom": "打开 POM 文件", "contributes.commands.maven.archetype.generate": "从 Maven 原型创建新项目", "contributes.commands.maven.module.new": "新建 Module...", "contributes.commands.maven.archetype.update": "更新 Maven 原型目录", "contributes.commands.maven.favorites": "收藏夹…", "contributes.commands.maven.history": "历史…", "contributes.commands.maven.goal.execute": "执行命令...", "contributes.commands.maven.plugin.execute": "执行", "contributes.commands.maven.plugin.debug": "调试", "contributes.commands.maven.view.hierarchical": "切换到分层视图", "contributes.commands.maven.view.flat": "切换到扁平视图", "contributes.commands.maven.project.addDependency": "添加依赖…", "contributes.commands.maven.project.showDependencies": "显示所有依赖", "contributes.commands.maven.project.goToDefinition": "转到定义", "contributes.commands.maven.project.excludeDependency": "删除依赖", "contributes.commands.maven.project.setDependencyVersion": "指定依赖版本为...", "contributes.commands.maven.project.addFavorite": "添加常用命令...", "contributes.commands.maven.dependency.goToEffective": "转到有效的依赖项", "contributes.views.explorer.mavenProjects": "Maven", "contributes.viewsWelcome.mavenProjects.untrustedWorkspaces": "高级功能(例如:执行生命周期阶段与插件的目标命令)将会因为安全考量在限制模式中被停用。\nPOM编辑辅助功能(例如:[添加依赖](command:maven.project.addDependency))仍可以使用。\n学习更多关于[工作区信任](https://aka.ms/vscode-workspace-trust)\n[管理工作区信任](command:workbench.trust.manage)", "configuration.maven.excludedFolders": "指定搜索 Maven 项目时要排除的文件夹。", "configuration.maven.executable.preferMavenWrapper": "指定是否优先使用 Maven Wrapper。如果为 true,则尝试向上遍历父文件夹寻找 mvnw 作为可执行文件;如果为 false,或者找不到 mvnw,则尝试使用系统 PATH 中的 mvn。", "configuration.maven.executable.path": "指定mvn可执行文件的绝对路径。当此值为空时,它会根据 maven.executable.preferMavenWrapper 的值尝试使用 mvn 或 mvnw 。", "configuration.maven.executable.options": "指定所有mvn命令的默认选项。", "configuration.maven.pomfile.autoUpdateEffectivePOM": "指定是否自动更新 Effective POM。", "configuration.maven.pomfile.globPattern": "指定用于查找 POM 文件的 glob 模式。", "configuration.maven.pomfile.prefetchEffectivePom": "指定是否在启动时预加载 Effective POM。", "configuration.maven.terminal.customEnv": "自定义环境变量。在首次执行 Maven 之前,这些环境变量值将被添加到终端会话中。", "configuration.maven.terminal.customEnv.environmentVariable": "要设置的环境变量的名称。", "configuration.maven.terminal.customEnv.value": "要设置的环境变量的值。", "configuration.maven.view": "指定 Maven 项目的视图方式。", "configuration.maven.showInExplorerContextMenu": "如果此值为 true ,将会在文件浏览器的文件夹右键菜单中增加一个命令,用来新建 Maven 项目。", "configuration.maven.terminal.favorites": "指定要执行的偏好命令。", "configuration.maven.terminal.favorites.alias": "命令的简称。", "configuration.maven.terminal.favorites.command": "命令的内容。", "configuration.maven.terminal.favorites.debug": "是否以调试模式运行。", "configuration.maven.settingsFile": "指定 maven 配置文件的绝对路径, 默认是 ~/.m2/settings.xml", "configuration.maven.dependency.enableConflictDiagnostics": "指定是否在 POM 文件中显示依赖冲突。", "configuration.maven.projectOpenBehavior": "新建项目的默认打开方式。", "configuration.maven.explorer.projectName": "Maven 项目名称的显示格式。", "contributes.commands.maven.java.projectConfiguration.update": "重新加载所有 Maven 项目" } ================================================ FILE: package.nls.zh-tw.json ================================================ { "description": "管理 Maven 專案、執行目標命令(goals)、從原型(archetype)產生專案,改善 Java 開發人員的用戶體驗。", "contributes.commands.maven.explorer.refresh": "重新整理", "contributes.commands.maven.goal.custom": "自訂…", "contributes.commands.maven.project.effectivePom": "顯示 Effective POM", "contributes.commands.maven.project.openPom": "打開 POM 文件", "contributes.commands.maven.archetype.generate": "建立 Maven 專案", "contributes.commands.maven.archetype.update": "更新 Maven Archetype 目錄", "contributes.commands.maven.favorites": "我的最愛…", "contributes.commands.maven.history": "歷史…", "contributes.commands.maven.goal.execute": "執行命令...", "contributes.commands.maven.plugin.execute": "執行", "contributes.commands.maven.plugin.debug": "偵錯", "contributes.commands.maven.view.hierarchical": "切換到階層檢視", "contributes.commands.maven.view.flat": "切換到扁平檢視", "contributes.commands.maven.project.addDependency": "新增相依套件…", "contributes.commands.maven.project.showDependencies": "顯示所有相依套件", "contributes.commands.maven.project.goToDefinition": "移至定義", "contributes.commands.maven.project.excludeDependency": "刪除相依套件", "contributes.commands.maven.project.setDependencyVersion": "指定相依套件版本為...", "contributes.commands.maven.project.addFavorite": "添加常用命令...", "contributes.commands.maven.dependency.goToEffective": "移至有效的相依套件項", "contributes.views.explorer.mavenProjects": "Maven", "contributes.viewsWelcome.mavenProjects.untrustedWorkspaces": "進階功能 (例如: 執行生命週期階段與 Plugin 的目標命令) 將會因為安全考量在限制模式中被停用。\nPOM 編輯輔助功能 (例如: [新增相依套件](command:maven.project.addDependency)) 還是可以使用。\n學習更多關於 [工作區信任](https://aka.ms/vscode-workspace-trust)\n[管理工作區信任](command:workbench.trust.manage)", "configuration.maven.excludedFolders": "指定搜尋 Maven 專案時要排除的文件夾。", "configuration.maven.executable.preferMavenWrapper": "指定是否優先使用 Maven Wrapper。如果為 true,則嘗試向上遍歷父文件夾尋找 mvnw 作為可執行文件;如果為 false,或者找不到 mvnw,則嘗試使用系統 PATH 中的 mvn。", "configuration.maven.executable.path": "指定 mvn 可執行文件的絕對路徑。當此值為空時,它會根據 maven.executable.preferMavenWrapper 的值嘗試使用 mvn 或 mvnw 。", "configuration.maven.executable.options": "指定所有mvn命令的預設選項。", "configuration.maven.pomfile.autoUpdateEffectivePOM": "指定是否自動更新 Effective POM。", "configuration.maven.pomfile.globPattern": "指定用於尋找 POM 文件的 glob 模式。", "configuration.maven.pomfile.prefetchEffectivePom": "指定是否在啟動時預先載入 Effective POM。", "configuration.maven.terminal.customEnv": "自定義環境變數。在首次執行 Maven 之前,這些環境變數值將被新增到終端工作階段中。", "configuration.maven.terminal.customEnv.environmentVariable": "要設定的環境變數的名稱。", "configuration.maven.terminal.customEnv.value": "要設定的環境變數的值。", "configuration.maven.view": "指定 Maven 專案的檢視方式。", "configuration.maven.showInExplorerContextMenu": "如果此值為 true,將會在檔案總管的資料夾右鍵選單新增一個命令來建立 Maven 專案。", "configuration.maven.terminal.favorites": "指定要執行的偏好命令。", "configuration.maven.terminal.favorites.alias": "命令的別名。", "configuration.maven.terminal.favorites.command": "命令的內容。", "configuration.maven.terminal.favorites.debug": "是否以偵錯模式運行。", "configuration.maven.settingsFile": "指定 maven 設定文件的絕對路徑,預設是 ~/.m2/settings.xml", "configuration.maven.dependency.enableConflictDiagnostics": "指定是否在 POM 文件中顯示相依套件衝突。", "configuration.maven.projectOpenBehavior": "新建專案的預設打開方式。", "configuration.maven.explorer.projectName": "Maven 專案名稱節點的格式。", "contributes.commands.maven.java.projectConfiguration.update": "重新載入所有 Maven 專案" } ================================================ FILE: resources/IndexData/ArtifactUsage.json ================================================ {"org.eclipse.jdt:core":333,"org.powermock:powermock-core":403,"com.microsoft.azure.cognitiveservices:azure-cognitiveservices-customvision-prediction":0,"com.squareup.retrofit2:adapter-rxjava":472,"org.webjars.npm:jquery":359,"com.microsoft.azure:azure-mgmt-appservice":2,"com.microsoft.azure:azure-storage-blob":8,"concurrent:concurrent":390,"org.apache.cxf:cxf-rt-frontend-jaxws":833,"com.typesafe.akka:akka-stream-testkit_2.13":0,"org.apache.spark:spark-core_2.12":0,"org.xerial:sqlite-jdbc":562,"com.google.protobuf:protobuf-java":2045,"org.apache.maven.reporting:maven-reporting-impl":310,"org.apache.logging.log4j:log4j-slf4j18-impl":376,"commons-configuration:commons-configuration":1650,"org.jboss.logging:jboss-logging-processor":1066,"org.scala-lang.modules:scala-parser-combinators_2.13":0,"org.quartz-scheduler:quartz":1379,"org.springframework:spring-test":7157,"com.fasterxml.jackson.dataformat:jackson-dataformat-xml":842,"org.json4s:json4s-jackson_2.13":0,"org.webjars.bowergithub.polymer:polymer":904,"org.powermock:powermock-api-mockito":2295,"org.jboss.shrinkwrap:shrinkwrap-impl-base":335,"org.springframework.cloud:spring-cloud-starter-config":449,"com.google.guava:guava":20906,"com.google.zxing:core":466,"org.ops4j.pax.url:pax-url-aether":446,"javax.ejb:ejb-api":336,"org.mortbay.jetty:jetty":1306,"commons-cli:commons-cli":3193,"org.hibernate:hibernate-hikaricp":396,"javax.transaction:javax.transaction-api":342,"javax.xml.bind:jaxb-api":2868,"org.apache.commons:commons-exec":565,"io.dropwizard:dropwizard-testing":312,"net.sf.jopt-simple:jopt-simple":371,"com.squareup.okhttp3:mockwebserver":489,"com.novocode:junit-interface":1225,"org.jboss.resteasy:jaxrs-api":301,"com.google.guava:guava-testlib":357,"org.apache.tomcat:tomcat-catalina":446,"com.microsoft.azure.cognitiveservices:azure-cognitiveservices-newssearch":0,"org.apache.activemq:activemq-broker":409,"io.dropwizard:dropwizard-core":540,"io.springfox:springfox-swagger-ui":412,"io.vertx:vertx-web":325,"org.codehaus.groovy:groovy-jsr223":554,"org.scoverage:scalac-scoverage-plugin_2.13":0,"org.apache.curator:curator-recipes":555,"org.slf4j:slf4j-simple":8252,"org.netbeans.api:org-netbeans-modules-projectapi":585,"org.greenrobot:eventbus":478,"com.nineoldandroids:library":509,"org.apache.hadoop:hadoop-annotations":374,"com.squareup.retrofit2:converter-gson":1611,"org.glassfish.jaxb:jaxb-core":435,"io.circe:circe-core_2.13":0,"com.microsoft.azure.cognitiveservices:azure-cognitiveservices-customsearch":0,"io.rest-assured:rest-assured":370,"org.springframework.boot:spring-boot-starter-test":4848,"org.mozilla:rhino":489,"org.glassfish.main.javaee-api:javax.jms":378,"org.hibernate:hibernate-ehcache":340,"com.squareup.retrofit2:adapter-rxjava2":570,"org.apache.httpcomponents:httpcore":3069,"org.apache.thrift:libthrift":819,"io.dropwizard.metrics:metrics-core":1414,"org.apache.logging.log4j:log4j-web":586,"org.springframework:spring-messaging":624,"org.xerial.snappy:snappy-java":630,"org.scala-tools.testing:specs_2.10":0,"org.hamcrest:hamcrest-junit":381,"org.eclipse:ui":414,"com.microsoft.azure.cognitiveservices:azure-cognitiveservices-visualsearch":0,"com.liferay.portal:com.liferay.portal.impl":320,"org.springframework:spring-context-indexer":369,"org.eclipse.persistence:eclipselink":310,"com.google.code.gson:gson":10611,"com.google.dagger:dagger":549,"org.apache.tika:tika-core":460,"com.microsoft.azure:azure-eventgrid":0,"com.fasterxml.jackson.core:jackson-core":6137,"org.apache.commons:commons-configuration2":599,"org.netbeans.api:org-openide-util":1377,"com.microsoft.azure.cognitiveservices:azure-cognitiveservices-computervision":0,"log4j:log4j":14624,"ch.qos.logback:logback-classic":16150,"net.minidev:json-smart":311,"org.eclipse.core:runtime":931,"com.fasterxml.jackson.datatype:jackson-datatype-guava":729,"org.eclipse.jetty:jetty-http":474,"org.eclipse.aether:aether-api":407,"org.hsqldb:hsqldb":2427,"org.apache.maven:maven-artifact":1773,"org.jboss.logmanager:jboss-logmanager":342,"org.specs2:specs2-junit_2.13":0,"com.typesafe:config":1755,"org.apache.maven:maven-aether-provider":390,"org.netbeans.api:org-openide-nodes":763,"org.apache.lucene:lucene-queryparser":477,"com.microsoft.azure:azure-mgmt-dns":2,"org.scalatest:scalatest_2.12":0,"io.netty:netty":918,"com.sun.xml.bind:jaxb-xjc":551,"org.apereo:spring-webflow-client-repo":417,"org.springframework.boot:spring-boot-starter-security":799,"com.lmax:disruptor":830,"commons-codec:commons-codec":7806,"org.jboss.spec.javax.ejb:jboss-ejb-api_3.2_spec":346,"org.osgi:org.osgi.enterprise":322,"javax.activation:activation":1283,"com.microsoft.azure:adal4j":54,"org.objenesis:objenesis":1772,"org.apache.logging.log4j:log4j-slf4j-impl":2920,"org.springframework.boot:spring-boot-devtools":698,"com.google.auto.service:auto-service":1501,"org.scala-lang.modules:scala-collection-compat_2.13":0,"javax.jcr:jcr":1118,"org.netbeans.api:org-netbeans-api-progress":313,"org.jetbrains.kotlin:kotlin-stdlib":4017,"org.apache.tomcat.embed:tomcat-embed-jasper":305,"stax:stax-api":817,"commons-logging:commons-logging":8807,"com.microsoft.azure:azure-batch":1,"org.codehaus.jackson:jackson-mapper-asl":3160,"org.apache.cxf:cxf-rt-frontend-jaxrs":775,"org.jboss.errai:errai-common":386,"org.easymock:easymockclassextension":908,"org.scala-lang:scala-library":21756,"org.jboss.resteasy:resteasy-client":479,"org.apache.felix:org.apache.felix.scr.ds-annotations":477,"org.apache.httpcomponents:httpmime":1699,"org.glassfish.web:el-impl":528,"org.apache.camel:camel-spring":536,"org.junit.platform:junit-platform-runner":393,"com.h2database:h2":5133,"net.sf.opencsv:opencsv":579,"org.tukaani:xz":399,"commons-io:commons-io":17000,"org.slf4j:slf4j-nop":902,"com.microsoft.azure.cognitiveservices:azure-cognitiveservices-contentmoderator":0,"org.apache.zookeeper:zookeeper":1085,"com.squareup.okhttp:okhttp":1138,"org.apache.felix:org.osgi.core":796,"org.springframework.webflow:spring-webflow":512,"org.apache.felix:org.apache.felix.framework":729,"org.clojure:test.check":805,"org.apache.kafka:kafka_2.12":0,"org.springframework.data:spring-data-jpa":441,"org.springframework:spring-expression":1276,"org.springframework.boot:spring-boot-actuator":719,"javax.mail:mail":2103,"com.github.ghik:silencer-lib_2.13.0":0,"com.squareup.okio:okio":598,"org.mongodb:mongo-java-driver":1001,"org.apache.tomcat.embed:tomcat-embed-core":494,"org.hibernate:hibernate-validator":2771,"com.microsoft.servicefabric:sf":4,"dom4j:dom4j":2007,"org.springframework.boot:spring-boot-starter":2410,"javax.transaction:jta":1104,"org.springmodules:spring-modules-cache":428,"org.uberfire:uberfire-api":429,"org.springframework.data:spring-data-mongodb":672,"org.slf4j:slf4j-log4j12":12560,"org.jetbrains.kotlin:kotlin-android-extensions-runtime":491,"commons-logging:commons-logging-api":608,"com.microsoft.azure.cognitiveservices:azure-faceapi":0,"org.apache.maven:maven-compat":836,"xerces:xercesImpl":2071,"org.eclipse.jetty:jetty-util":871,"io.swagger:swagger-annotations":916,"org.apache.commons:commons-text":1078,"org.apache.maven.shared:maven-plugin-testing-harness":378,"org.apache.lucene:lucene-core":1198,"org.clojure:tools.reader":373,"org.hibernate:hibernate-entitymanager":2363,"org.jboss.errai:errai-bus":561,"org.mariadb.jdbc:mariadb-java-client":344,"com.google.code.findbugs:jsr305":6651,"org.webjars.bower:jquery":696,"org.clojure:tools.namespace":877,"org.apache.spark:spark-mllib_2.12":0,"com.intellij:annotations":394,"org.osgi:osgi.core":585,"org.clojure:tools.nrepl":6198,"com.android.databinding:baseLibrary":493,"org.jetbrains.kotlin:kotlin-test-junit":1002,"org.osgi:org.osgi.compendium":3314,"com.typesafe.akka:akka-stream_2.13":0,"com.microsoft.azure:azure-mgmt-datalake-analytics":0,"org.springframework.data:spring-data-commons":874,"org.apache.camel:camel-test":630,"org.codehaus.groovy:groovy-groovysh":406,"org.apache.hadoop:hadoop-core":683,"hsqldb:hsqldb":1293,"org.codehaus.jettison:jettison":742,"com.fasterxml.jackson.datatype:jackson-datatype-joda":610,"javax.cache:cache-api":331,"org.netbeans.api:org-openide-util-ui":668,"org.apache.cxf:cxf-rt-transports-http-jetty":402,"io.circe:circe-parser_2.13":0,"io.netty:netty-buffer":620,"org.apache.tika:tika-parsers":307,"org.apache.hadoop:hadoop-common":1677,"org.apache.commons:commons-dbcp2":432,"org.jmock:jmock-legacy":455,"org.springframework.boot:spring-boot-starter-aop":876,"junit:junit":91326,"org.springframework.security:spring-security-rsa":387,"org.netbeans.api:org-netbeans-modules-projectuiapi":345,"org.apache.spark:spark-sql_2.12":0,"org.flywaydb:flyway-core":399,"com.sun.jersey:jersey-servlet":347,"org.apache.maven.plugin-testing:maven-plugin-testing-harness":752,"javax.el:el-api":771,"javax:javaee-web-api":462,"org.clojure:tools.logging":1352,"org.aspectj:aspectjweaver":1959,"org.eclipse.jgit:org.eclipse.jgit":845,"io.netty:netty-transport":581,"javax.ws.rs:jsr311-api":1574,"com.mashape.unirest:unirest-java":305,"org.springframework:spring-webmvc":3453,"org.apache.jackrabbit:jackrabbit-jcr-commons":349,"com.microsoft.azure:azure":38,"javax.faces:jsf-api":487,"org.apache.geronimo.specs:geronimo-servlet_3.0_spec":533,"org.apache.maven:maven-archiver":383,"org.scalamock:scalamock-scalatest-support_2.12":0,"org.junit.jupiter:junit-jupiter-api":3995,"com.alibaba:fastjson":2269,"javax.persistence:persistence-api":934,"org.jetbrains.kotlin:kotlin-reflect":2141,"org.jmock:jmock-junit4":757,"org.eclipse.core:org.eclipse.core.runtime":766,"postgresql:postgresql":977,"org.jsoup:jsoup":1911,"org.apache.karaf.shell:org.apache.karaf.shell.console":519,"org.easytesting:fest-assert":1096,"org.scala-lang.modules:scala-xml_2.13":0,"ch.qos.logback:logback-core":3252,"org.eclipse.jetty:jetty-servlets":560,"org.apache.avro:avro":1073,"com.sun.xml.bind:jaxb-impl":1946,"org.webjars:jquery":398,"com.amazonaws:aws-java-sdk-core":585,"org.springframework.boot:spring-boot-starter-tomcat":340,"org.scala-js:scalajs-test-interface_2.13":0,"com.sun.jersey:jersey-server":958,"org.scalaz:scalaz-core_2.13":0,"io.netty:netty-all":1328,"com.google.auto.value:auto-value":561,"org.apache.uima:uimaj-core":527,"com.github.tomakehurst:wiremock":1068,"com.microsoft.azure.cognitiveservices:azure-cognitiveservices-imagesearch":0,"org.json4s:json4s-native_2.13":0,"com.microsoft.azure:azure-data-lake-store-sdk":12,"com.microsoft.azure:azure-mgmt-streamanalytics":0,"org.slf4j:slf4j-api":37700,"com.liferay.portal:com.liferay.portal.kernel":655,"org.mockito:mockito-all":12108,"org.apache.maven:maven-settings":510,"com.microsoft.azure.cognitiveservices:azure-cognitiveservices-luis-authoring":0,"org.codehaus.groovy:groovy-console":378,"com.microsoft.azure:azure-mgmt-containerregistry":1,"org.eclipse.core:org.eclipse.core.resources":307,"org.slf4j:slf4j-ext":451,"org.jboss.resteasy:resteasy-jaxrs":912,"org.glassfish.jersey.containers:jersey-container-servlet":447,"org.eclipse.jetty:jetty-io":396,"com.typesafe.akka:akka-slf4j_2.13":0,"org.reactivestreams:reactive-streams":305,"org.apache.poi:poi-ooxml":1162,"org.glassfish.jersey.core:jersey-client":988,"org.apache.shiro:shiro-web":312,"com.microsoft.azure:azure-keyvault":18,"com.android.tools.build:gradle":978,"wsdl4j:wsdl4j":543,"org.apache.karaf.features:org.apache.karaf.features.core":300,"io.grpc:grpc-netty":343,"org.apache.maven.wagon:wagon-provider-api":444,"org.springframework.boot:spring-boot-starter-data-redis":366,"com.typesafe.play:play-logback_2.13":0,"com.fasterxml.jackson.core:jackson-annotations":5869,"com.google.truth:truth":944,"com.google.inject:guice":3484,"com.microsoft.azure:azure-servicebus":19,"com.codahale.metrics:metrics-core":437,"com.fasterxml.jackson.module:jackson-module-jaxb-annotations":559,"org.apache.mina:mina-core":463,"org.springframework.boot:spring-boot-starter-websocket":508,"org.apache.derby:derby":1599,"org.junit.platform:junit-platform-engine":453,"org.mybatis:mybatis-spring":340,"org.codehaus.groovy:groovy-sql":370,"mysql:mysql-connector-java":3794,"org.apache.camel:camel-spring-boot-starter":438,"org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec":361,"org.apache.logging.log4j:log4j-core":4308,"org.jboss.weld:weld-core":323,"org.jboss.weld.se:weld-se-core":516,"org.wso2.carbon:org.wso2.carbon.logging":1212,"org.codehaus.jackson:jackson-jaxrs":720,"org.springframework.security:spring-security-crypto":463,"org.webjars.bower:angular":708,"com.microsoft.azure.resourcegraph.v2019_04_01:azure-mgmt-resourcegraph":0,"oro:oro":486,"info.cukes:cucumber-junit":336,"org.junit.vintage:junit-vintage-engine":1257,"org.apache.maven:maven-core":2882,"org.hibernate:hibernate-core":2984,"com.microsoft.azure.cognitiveservices:azure-cognitiveservices-autosuggest":0,"com.google.code.findbugs:annotations":1658,"org.scala-lang.modules:scala-java8-compat_2.13":0,"org.kohsuke.metainf-services:metainf-services":384,"io.netty:netty-common":541,"org.apache.logging.log4j:log4j-1.2-api":369,"org.clojure:data.json":924,"org.springframework.boot:spring-boot-starter-jdbc":444,"org.apache.shiro:shiro-core":495,"io.grpc:grpc-protobuf":431,"com.microsoft.azure.cognitiveservices:azure-cognitiveservices-videosearch":0,"org.junit.platform:junit-platform-launcher":1129,"org.codehaus.jackson:jackson-core-asl":2116,"org.springframework.boot:spring-boot-starter-log4j2":534,"org.springframework.cloud:spring-cloud-context":551,"org.osgi:osgi.cmpn":529,"com.fasterxml.jackson.core:jackson-databind":12639,"org.scala-lang:scala-reflect":2613,"org.springframework.boot:spring-boot-configuration-processor":2636,"org.apache.hbase:hbase-client":498,"org.apache.curator:curator-framework":538,"org.codehaus.janino:janino":380,"javax.xml.ws:jaxws-api":666,"org.mockito:mockito-core":17142,"org.springframework.boot:spring-boot-autoconfigure":2694,"com.microsoft.azure.hdinsight.v2018_06_01_preview:azure-mgmt-hdinsight":0,"javax.servlet:jstl":1600,"com.vaadin:vaadin-client":451,"org.specs2:specs2-mock_2.13":0,"org.junit.jupiter:junit-jupiter-engine":3325,"org.glassfish.web:javax.el":362,"com.microsoft.azure:azure-mgmt-redis":1,"com.fasterxml.jackson.datatype:jackson-datatype-jsr310":1613,"com.squareup.okhttp3:okhttp":3544,"org.springframework:spring-aop":2358,"org.apache.camel:camel-core":1355,"org.kie:kie-api":500,"redis.clients:jedis":1123,"org.netbeans.api:org-openide-windows":577,"org.eclipse.core:resources":465,"org.apache.cxf:cxf-rt-transports-http":778,"com.fasterxml.jackson.module:jackson-module-kotlin":782,"org.springframework.osgi:spring-osgi-core":313,"org.scoverage:scalac-scoverage-runtime_2.13":0,"com.typesafe.akka:akka-http_2.13":0,"org.wso2.carbon:org.wso2.carbon.registry.core":738,"jmock:jmock":335,"org.apache.hadoop:hadoop-hdfs":777,"org.apache.spark:spark-streaming_2.12":0,"org.osgi:org.osgi.core":5859,"org.slf4j:slf4j-jdk14":1730,"io.reactivex.rxjava2:rxjava":2055,"javax.annotation:jsr250-api":862,"org.hamcrest:hamcrest-library":4856,"com.microsoft.azure:azure-mgmt-monitor":1,"org.apache.httpcomponents:httpasyncclient":487,"org.springframework.security:spring-security-web":940,"org.powermock:powermock-api-mockito2":563,"com.jcraft:jsch":939,"commons-beanutils:commons-beanutils":3551,"org.apache.felix:org.apache.felix.scr.annotations":1230,"org.glassfish:javax.json":762,"org.springframework.shell:spring-shell":364,"org.jmockit:jmockit":656,"commons-collections:commons-collections":4989,"com.google.testing.compile:compile-testing":398,"org.apache.felix:org.apache.felix.scr":355,"org.netbeans.api:org-openide-explorer":319,"com.mchange:c3p0":404,"com.fasterxml.jackson.datatype:jackson-datatype-jdk8":614,"org.scala-js:scalajs-dom_sjs1.0.0-M8_2.13":0,"com.typesafe.play:play-json_2.13":0,"org.postgresql:postgresql":1801,"javax.ws.rs:javax.ws.rs-api":2167,"org.easymock:easymock":4105,"net.java.dev.jna:jna":875,"org.clojure:clojure":14596,"io.springfox:springfox-swagger2":593,"de.flapdoodle.embed:de.flapdoodle.embed.memcached":349,"com.sun.faces:jsf-api":343,"javax.servlet.jsp:jsp-api":1307,"org.immutables:value":441,"org.apache.velocity:velocity":1368,"com.ning:async-http-client":498,"org.apereo.cas:cas-server-core-api-test-category":335,"args4j:args4j":509,"org.mule.modules:mule-module-spring-config":383,"com.google.gwt:gwt-dev":685,"com.google.inject.extensions:guice-servlet":488,"javax.servlet.jsp:javax.servlet.jsp-api":731,"org.apache.geronimo.specs:geronimo-jms_1.1_spec":633,"org.apache.commons:commons-pool2":954,"com.google.api-client:google-api-client":515,"org.apache.solr:solr-solrj":469,"org.apache.geronimo.specs:geronimo-jpa_2.0_spec":302,"com.microsoft.azure.cognitiveservices:azure-cognitiveservices-customimagesearch":0,"javax.inject:javax.inject":4272,"xml-apis:xml-apis":1448,"org.wso2.carbon:org.wso2.carbon.ui":777,"org.springframework:spring-context":8410,"com.rabbitmq:amqp-client":434,"com.vaadin:vaadin-server":706,"org.spockframework:spock-spring":513,"com.fasterxml.jackson.dataformat:jackson-dataformat-yaml":1510,"org.apache.hbase:hbase-server":330,"io.spray:spray-json_2.13":0,"org.apache.commons:commons-lang3":13981,"javax.websocket:javax.websocket-api":399,"org.springframework.boot:spring-boot-starter-web":3969,"io.netty:netty-handler":713,"org.apache.pdfbox:pdfbox":360,"com.typesafe.play:play-ws_2.13":0,"org.springframework.boot:spring-boot-starter-logging":375,"org.glassfish.jersey.core:jersey-server":642,"org.apache.xmlbeans:xmlbeans":616,"org.ops4j.pax.exam:pax-exam-junit4":488,"javax.json:javax.json-api":406,"io.vertx:vertx-unit":354,"org.springframework.boot:spring-boot-starter-data-jpa":828,"io.projectreactor:reactor-core":476,"org.hibernate.javax.persistence:hibernate-jpa-2.0-api":949,"org.apache.maven:maven-project":2598,"org.apache.camel:camel-core-starter":345,"org.springframework.security:spring-security-core":1512,"io.grpc:grpc-stub":523,"org.netbeans.api:org-openide-dialogs":660,"org.apache.uima:uimafit-core":427,"com.sun.jersey:jersey-json":707,"com.google.errorprone:error_prone_annotations":301,"org.springframework:spring-aspects":628,"org.junit.platform:junit-platform-suite-api":378,"org.drools:drools-compiler":480,"org.mybatis:mybatis":669,"com.thoughtworks.paranamer:paranamer":351,"org.jboss.logging:jboss-logging":1854,"org.jmock:jmock":570,"org.apache.httpcomponents:fluent-hc":480,"org.jboss.errai:errai-ioc":311,"commons-httpclient:commons-httpclient":2590,"com.ibm.icu:icu4j":557,"org.glassfish.main.javaee-api:javax.jws":381,"org.apache.hadoop:hadoop-mapreduce-client-core":701,"org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-impl-maven":328,"org.apache.wicket:wicket-core":391,"org.apache.ant:ant":1799,"com.googlecode.json-simple:json-simple":1209,"org.apache.tomcat:tomcat-jdbc":332,"com.github.scopt:scopt_2.13":0,"org.apache.commons:commons-math":342,"org.springframework.boot:spring-boot":1540,"org.netbeans.api:org-openide-loaders":646,"commons-net:commons-net":933,"org.webjars.npm:lodash":394,"org.netbeans.api:org-netbeans-api-annotations-common":493,"com.google.inject.extensions:guice-assistedinject":390,"org.eclipse.persistence:javax.persistence":532,"org.apache.cxf:cxf-rt-ws-security":319,"org.apache.poi:poi":1257,"com.microsoft.azure:azure-svc-mgmt":11,"org.powermock:powermock-api-easymock":466,"org.apache.commons:commons-email":328,"org.eclipse.jetty:jetty-client":307,"org.apache.commons:commons-io":1091,"org.powermock:powermock-module-junit4":2738,"org.hibernate:hibernate-annotations":590,"com.microsoft.azure:azure-mgmt-containerservice":1,"com.microsoft.azure:azure-mgmt-network":10,"com.microsoft.azure:azure-mgmt-resources":213,"javax.persistence:javax.persistence-api":430,"org.apache.sling:org.apache.sling.api":458,"org.scala-lang:scala-compiler":1592,"org.reflections:reflections":2297,"com.microsoft.azure.functions:azure-functions-java-library":5,"org.liquibase:liquibase-core":442,"org.netbeans.api:org-openide-modules":486,"com.amazonaws:aws-java-sdk":769,"org.seleniumhq.selenium:selenium-java":1082,"org.eclipse.jetty:jetty-server":2535,"com.microsoft.azure.cognitiveservices:azure-cognitiveservices-spellcheck":0,"org.antlr:antlr-runtime":471,"com.microsoft.azure:azure-documentdb":21,"org.eclipse.jetty:jetty-servlet":1681,"org.jboss:jboss-common-core":322,"org.apache.kafka:kafka-clients":916,"javax.servlet:jsp-api":781,"org.springframework.boot:spring-boot-test":375,"net.sourceforge.nekohtml:nekohtml":332,"org.springframework:spring":767,"com.microsoft.azure:azure-client-authentication":229,"org.jboss.spec.javax.ejb:jboss-ejb-api_3.1_spec":355,"org.netbeans.api:org-openide-filesystems":1005,"org.specs2:specs2-scalacheck_2.13":0,"com.github.lalyos:jfiglet":439,"org.springframework:spring-orm":2021,"javax.xml.stream:stax-api":362,"io.jsonwebtoken:jjwt":331,"org.netbeans.api:org-openide-util-lookup":1215,"org.jacoco:org.jacoco.agent":562,"org.springframework:spring-context-support":2342,"com.microsoft.azure.cognitiveservices:azure-cognitiveservices-luis-runtime":0,"javax.servlet:servlet-api":10727,"org.jboss.spec.javax.servlet:jboss-servlet-api_3.0_spec":737,"org.eclipse.jetty:jetty-webapp":1319,"commons-digester:commons-digester":919,"aopalliance:aopalliance":672,"com.aliyun:aliyun-java-sdk-core":305,"com.typesafe.akka:akka-actor_2.13":0,"com.microsoft.azure.labservices.v2018_10_15:azure-mgmt-labservices":0,"org.apache.maven.plugin-tools:maven-plugin-annotations":3246,"org.assertj:assertj-core":7420,"com.microsoft.azure.cognitiveservices:azure-cognitiveservices-language":0,"org.apache.ws.commons.axiom:axiom-api":379,"org.apache.hbase:hbase-common":325,"org.apache.commons:commons-collections4":1840,"org.scala-js:scalajs-library_2.13":0,"com.microsoft.azure:azure-eventhubs":22,"org.jboss.netty:netty":332,"com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider":1402,"org.slf4j:jul-to-slf4j":2270,"org.jvnet.jaxb2_commons:jaxb2-basics-runtime":442,"org.springframework.boot:spring-boot-starter-mail":536,"com.google.android:android":1287,"com.microsoft.azure:azure-mgmt-batchai":1,"io.undertow:undertow-core":459,"javax.annotation:javax.annotation-api":1467,"org.codehaus.groovy:groovy-json":500,"com.microsoft.azure.privatedns.v2018_09_01:azure-mgmt-privatedns":0,"com.github.spullara.mustache.java:compiler":361,"org.eclipse.jetty:jetty-continuation":303,"org.springframework:spring-core":5572,"org.apache.commons:commons-compress":1612,"org.codehaus.groovy:groovy":1162,"net.sf.trove4j:trove4j":432,"org.junit.jupiter:junit-jupiter-params":1388,"org.json:json":3251,"javax.xml.soap:javax.xml.soap-api":427,"com.github.kstyrc:embedded-redis":505,"org.clojure:clojurescript":2261,"org.springframework.boot:spring-boot-starter-actuator":1591,"org.aspectj:aspectjrt":2125,"com.microsoft.azure.cognitiveservices:azure-cognitiveservices-textanalytics":0,"com.github.fakemongo:fongo":462,"org.mortbay.jetty:jetty-util":549,"org.yaml:snakeyaml":1735,"com.squareup.okhttp:mockwebserver":310,"com.google.collections:google-collections":424,"it.unimi.dsi:fastutil":427,"org.apache.maven:maven-model":1321,"com.github.ben-manes.caffeine:caffeine":805,"org.elasticsearch:elasticsearch":934,"com.squareup.okhttp3:logging-interceptor":1302,"org.jboss.spec.javax.servlet:jboss-servlet-api_3.1_spec":465,"com.fasterxml.jackson.module:jackson-module-scala_2.13":0,"com.typesafe.play:play-server_2.13":0,"com.beust:jcommander":776,"org.drools:drools-core":518,"javax.validation:validation-api":3495,"net.sourceforge.htmlunit:htmlunit":405,"org.springframework.webflow:spring-binding":439,"org.apache.httpcomponents:httpclient":8731,"org.apache.curator:curator-test":545,"com.microsoft.azure.cognitiveservices:azure-cognitiveservices-customvision-training":0,"com.jayway.restassured:rest-assured":475,"org.apache.logging.log4j:log4j-jcl":761,"org.slf4j:log4j-over-slf4j":2237,"org.jboss.arquillian.junit:arquillian-junit-container":1393,"org.springframework:spring-beans":4810,"org.glassfish.jaxb:jaxb-runtime":742,"org.apache.activemq:activemq-client":346,"com.google.gwt:gwt-servlet":656,"org.glassfish.jersey.inject:jersey-hk2":444,"javax.enterprise:cdi-api":2394,"org.jboss.logging:jboss-logging-annotations":747,"org.springframework:spring-web":4918,"org.easytesting:fest-assert-core":613,"io.circe:circe-generic_2.13":0,"com.yammer.metrics:metrics-core":357,"javax.servlet:javax.servlet-api":11274,"org.hibernate.javax.persistence:hibernate-jpa-2.1-api":860,"org.dom4j:dom4j":547,"io.reactivex:rxjava":1778,"org.apache.commons:commons-math3":1446,"com.microsoft.azure:azure-mgmt-cdn":1,"org.apache.synapse:synapse-core":330,"org.clojure:tools.cli":463,"org.springframework.retry:spring-retry":531,"org.codehaus.plexus:plexus-container-default":747,"org.scalacheck:scalacheck_2.13":0,"javax.el:javax.el-api":1161,"org.springframework:spring-jdbc":2789,"com.typesafe.scala-logging:scala-logging_2.13":0,"io.vertx:vertx-core":825,"com.google.appengine:appengine-api-1.0-sdk":320,"javax.portlet:portlet-api":1041,"org.apache.geronimo.specs:geronimo-atinject_1.0_spec":370,"com.jayway.jsonpath:json-path":932,"org.apache.geronimo.specs:geronimo-servlet_2.5_spec":344,"org.clojure:java.jdbc":450,"org.ops4j.pax.logging:pax-logging-api":715,"org.springframework.security:spring-security-config":855,"com.microsoft.azure.cognitiveservices:azure-computervision":0,"org.apache.logging.log4j:log4j-api":3471,"org.antlr:antlr4-runtime":617,"org.springframework:spring-oxm":366,"com.microsoft.azure:azure-arm-client-runtime":161,"org.apereo.service.persondir:person-directory-impl":378,"com.google.gwt:gwt-user":1901,"org.eclipse.jetty:jetty-security":468,"org.netbeans.api:org-openide-awt":777,"org.netbeans.api:org-openide-text":398,"com.typesafe.play:twirl-api_2.13":0,"org.osgi:org.osgi.service.component.annotations":821,"org.springframework.security:spring-security-cas":421,"com.microsoft.sqlserver:mssql-jdbc":211,"com.microsoft.azure.mixedreality.v2019_02_28_preview:azure-mgmt-mixedreality":0,"io.netty:netty-codec":421,"org.eclipse.jetty.orbit:javax.servlet":306,"com.typesafe.akka:akka-testkit_2.13":0,"org.springframework.boot:spring-boot-properties-migrator":441,"com.microsoft.azure:azure-mgmt-trafficmanager":1,"com.typesafe.play:play-netty-server_2.13":0,"javax:javaee-api":1629,"com.microsoft.azure:azure-mgmt-containerinstance":1,"org.slf4j:jcl-over-slf4j":6345,"com.github.stefanbirkner:system-rules":475,"org.springframework:spring-jms":826,"org.apache.lucene:lucene-analyzers-common":581,"org.apache.solr:solr-core":352,"org.codehaus.groovy:groovy-xml":476,"com.microsoft.azure.sdk.iot:iot-service-client":3,"org.apereo.cas:cas-server-core-configuration-api":311,"org.apache.commons:commons-csv":535,"com.sun.jersey:jersey-client":1268,"org.testng:testng":7947,"com.github.axet:wget":353,"org.jboss:jboss-vfs":318,"commons-dbcp:commons-dbcp":1581,"org.apache.geronimo.specs:geronimo-jta_1.1_spec":604,"org.mockito:mockito-junit-jupiter":629,"org.springframework:spring-tx":2398,"com.microsoft.azure:azure-core":35,"backport-util-concurrent:backport-util-concurrent":309,"org.springframework.boot:spring-boot-autoconfigure-processor":448,"org.clojure:core.async":1286,"com.github.ben-manes.caffeine:guava":395,"org.clojure:clojure-contrib":706,"com.zaxxer:HikariCP":1158,"org.glassfish.jersey.media:jersey-media-json-jackson":721,"com.github.spotbugs:spotbugs-annotations":422,"io.netty:netty-codec-http":415,"org.apache.felix:org.osgi.compendium":540,"org.springframework.cloud:spring-cloud-commons":586,"org.apereo.cas:cas-server-core-util-api":325,"com.amazonaws:aws-java-sdk-s3":713,"com.microsoft.azure:azure-storage-queue":0,"org.apache.maven:maven-plugin-api":5494,"org.apereo.inspektr:inspektr-support-spring":419,"org.codehaus.groovy:groovy-datetime":393,"com.typesafe.play:play_2.13":0,"org.openjdk.jmh:jmh-generator-annprocess":486,"com.microsoft.azure.cognitiveservices:azure-cognitiveservices-websearch":0,"org.apache.hadoop:hadoop-client":922,"com.microsoft.azure:azure-mgmt-compute":9,"org.hibernate.validator:hibernate-validator":458,"com.microsoft.azure.cognitiveservices:azure-cognitiveservices-entitysearch":0,"com.microsoft.azure.cognitiveservices:azure-cognitiveservices-faceapi":0,"com.sun.xml.bind:jaxb-core":629,"com.google.inject.extensions:guice-multibindings":860,"org.apache.activemq:activemq-core":527} ================================================ FILE: resources/IndexData/index/nexus-maven-repository-index-packer.properties ================================================ #Tue Aug 27 14:32:02 CST 2019 nexus.index.chain-id=1566887521995 nexus.index.id=index-results nexus.index.timestamp=20190827063201.005 +0000 nexus.index.last-incremental=0 ================================================ FILE: resources/archetypes.json ================================================ [{"artifactId":"elm-spring-boot-blank-archetype","groupId":"am.ik.archetype","versions":["0.0.3","0.0.2","0.0.1"],"description":"Blank multi project for Spring Boot + Elm"},{"artifactId":"graalvm-blank-archetype","groupId":"am.ik.archetype","versions":["0.1.3","0.1.2","0.1.1","0.1.0"],"description":"Blank project for GraalVM"},{"artifactId":"graalvm-springmvc-blank-archetype","groupId":"am.ik.archetype","versions":["0.1.2","0.1.1","0.1.0"],"description":"Blank project for GraalVM + Spring MVC"},{"artifactId":"graalvm-springwebflux-blank-archetype","groupId":"am.ik.archetype","versions":["0.1.0"],"description":"Blank project for GraalVM + Spring MVC"},{"artifactId":"maven-reactjs-blank-archetype","groupId":"am.ik.archetype","versions":["1.0.0"],"description":"Blank Project for React.js"},{"artifactId":"msgpack-rpc-jersey-blank-archetype","groupId":"am.ik.archetype","versions":["1.0.7","1.0.6","1.0.5","1.0.2"],"description":"Blank Project for Spring Boot + Jersey"},{"artifactId":"mvc-1.0-blank-archetype","groupId":"am.ik.archetype","versions":["1.0.0-m02","1.0.0-m01"],"description":"MVC 1.0 Blank Project"},{"artifactId":"spring-boot-blank-archetype","groupId":"am.ik.archetype","versions":["1.0.6","1.0.5","1.0.2","1.0.1","1.0.0","0.10.3","0.10.2","0.10.1","0.10.0","0.9.2","0.9.1","0.9.0","1.0.2.RELEASE"],"description":"Blank Project for Spring Boot"},{"artifactId":"spring-boot-docker-blank-archetype","groupId":"am.ik.archetype","versions":["2.0.0","1.0.5","1.0.2","1.0.0","0.9.0"],"description":"Docker Blank Project for Spring Boot"},{"artifactId":"spring-boot-gae-blank-archetype","groupId":"am.ik.archetype","versions":["1.0.5","1.0.4","1.0.3","1.0.2"],"description":"GAE Blank Project for Spring Boot"},{"artifactId":"spring-boot-jersey-blank-archetype","groupId":"am.ik.archetype","versions":["1.0.2","1.0.1","1.0.0"],"description":"Blank Project for Spring Boot + Jersey"},{"artifactId":"spring-fu-jafu-blank-archetype","groupId":"am.ik.archetype","versions":["0.0.4","0.0.3","0.0.2","0.0.1"],"description":"Blank project for Vanilla Spring WebFlux.fn"},{"artifactId":"vanilla-spring-webflux-fn-blank-archetype","groupId":"am.ik.archetype","versions":["0.2.19","0.2.18","0.2.17","0.2.16","0.2.15","0.2.14","0.2.13","0.2.12","0.2.11","0.2.10","0.2.9","0.2.8","0.2.7","0.2.6","0.2.5","0.2.4","0.2.3","0.2.2","0.2.1","0.2.0","0.1.4","0.1.3","0.1.2","0.1.1","0.1.0","0.0.8","0.0.7","0.0.6","0.0.5","0.0.4","0.0.3","0.0.2","0.0.1"],"description":"Blank project for Vanilla Spring WebFlux.fn"},{"artifactId":"chrl-spring-sample","groupId":"at.chrl.archetypes","versions":["1.1.0","1.0.0"],"description":"Archetype for Spring Vaadin Webapps"},{"artifactId":"archetype-simple","groupId":"at.stderr","versions":["1.4.0","1.2.0","1.1.0","1.0"]},{"artifactId":"gramba-aws-lambda-archetype","groupId":"be.cloudway","versions":["0.0.5"]},{"artifactId":"turnonline-ecosystem-microservice-archetype","groupId":"biz.turnonline.ecosystem","versions":["1.3","1.2","1.1","1.0"],"description":"TurnOnline.biz Ecosystem: Serverless Microservice Archetype"},{"artifactId":"struts2-archetype","groupId":"br.com.address.archetypes","versions":["1.5","1.0"],"description":"an archetype web 3.0 + struts2 (bootstrap + jquery) + JPA 2.1 with struts2 login system"},{"artifactId":"struts2-base-archetype","groupId":"br.com.address.archetypes","versions":["1.7","1.6"],"description":"An Archetype with JPA 2.1; Struts2 core 2.3.28.1; Jquery struts plugin; Struts BootStrap plugin; json Struts plugin; Login System using Session and Interceptor"},{"artifactId":"Anteros-Archetype","groupId":"br.com.anteros","versions":["1.0.2","1.0.1","1.0.0"],"description":"Anteros Archetype for Java Web projects."},{"artifactId":"vlocadora-json","groupId":"br.com.codecode","versions":["1.0"],"description":"Modelos com Anotações Gson"},{"artifactId":"maven-doclet-archetype","groupId":"br.com.diogoko","versions":["1.0.0"],"description":"A Maven archetype to create Doclets for Javadoc"},{"artifactId":"elasticbeanstalk-docker-dropwizard-webapp-archetype","groupId":"br.com.ingenieux","versions":["1.5.6","1.5.5","1.5.4","1.5.3","1.5.2","1.5.1","1.5.0","1.4.4","1.4.3-foralula","1.4.2","1.4.1-foradilma","1.4.0","1.3.5","1.3.4","1.3.3"],"description":"A Maven Archetype for Publishing Dropwizard-based Services on AWS' Elastic\n Beanstalk Service"},{"artifactId":"elasticbeanstalk-javase-archetype","groupId":"br.com.ingenieux","versions":["1.5.6","1.5.5","1.5.4","1.5.3","1.5.2","1.5.1","1.5.0","1.4.4","1.4.3-foralula"],"description":"A Maven Archetype Encompassing Jetty for Publishing Java SE Services on AWS'\n Elastic Beanstalk Service"},{"artifactId":"elasticbeanstalk-service-webapp-archetype","groupId":"br.com.ingenieux","versions":["1.4.2","1.4.1-foradilma","1.4.0","1.3.5","1.3.4","1.3.3","1.3.2","1.3.1","1.2.0","1.1.1","1.1.0","1.0.1","1.0","0.2.9","0.2.8"],"description":"A Maven Archetype Encompassing RestAssured, Jetty, Jackson, Guice and Jersey for Publishing JAX-RS-based Services on AWS' Elastic Beanstalk Service"},{"artifactId":"elasticbeanstalk-wrapper-webapp-archetype","groupId":"br.com.ingenieux","versions":["1.4.2","1.4.1-foradilma","1.4.0","1.3.5","1.3.4","1.3.3","1.3.2"],"description":"A Maven Archetype Wrapping Existing war files on AWS' Elastic Beanstalk Service"},{"artifactId":"dsfnet-javaee-archetype","groupId":"br.com.jarch","versions":["19.1.9","19.1.0"]},{"artifactId":"jarch-dsfnet-archetype","groupId":"br.com.jarch","versions":["19.1.0","2.23.5"]},{"artifactId":"javaee-archetype","groupId":"br.com.jarch","versions":["22.12.0","22.11.0","22.9.0","22.8.1","22.8.0","22.6.1","22.6.0","22.5.2","22.4.0","22.3.0","22.2.0","22.1.3","22.1.2","22.1.1","22.1.0","21.11.0","21.9.0","21.7.0","21.5.2","21.5.1","21.5.0","21.2.1","21.2.0","21.1.0","20.12.0","20.8.0","20.7.0","20.6.0","20.5.4","20.5.3","20.5.2","20.5.1","20.5.0","20.2.0","19.12.0","19.9.0"],"description":"Projeto com módulos para a aplicação JAVAEE com JARCH"},{"artifactId":"javaee-archetype","groupId":"br.com.jarch.dsfnet","versions":["22.11.0","22.9.0","22.8.1","22.8.0","22.6.2","22.6.1","22.6.0","22.5.2","22.4.0","22.3.0","22.2.0","22.1.2","22.1.1","22.1.0","21.11.0","21.9.0","21.7.2","21.7.1","21.7.0","21.5.2","21.5.1","21.5.0","21.2.1","21.2.0","21.1.0","20.12.0","20.8.0","20.6.0","20.5.4","20.5.3","20.5.2","20.5.1","20.5.0","20.2.0","19.12.0","19.9.0","19.3.0","19.1.15","19.1.14","19.1.13","19.1.12","19.1.11","19.1.10","19.1.2"],"description":"Projeto com módulos para a DSF - Desenvolvimento de Sistemas Fiscais"},{"artifactId":"java-tooling-template-archetype","groupId":"br.com.miguelfontes","versions":["1.10","1.9"],"description":"A quickstart archetype with Travis, JUnit 5, Jacoco, Codecov and Sonarcloud pre-configured from the box!"},{"artifactId":"vraptor-archetype-blank","groupId":"br.com.otavio.vraptor.archetypes","versions":["0.0.3"],"description":"A simple project to start with VRaptor 4"},{"artifactId":"demoiselle-html-rest","groupId":"br.gov.frameworkdemoiselle.archetypes","versions":["3.0.0-ALPHA2","3.0.0-ALPHA1","2.5.4","2.5.3","2.5.2","2.5.2-RC1","2.5.1","2.5.0","2.5.0-RC1","2.5.0-BETA3","2.5.0-BETA2","2.5.0-BETA1","=2.5.2"]},{"artifactId":"demoiselle-jsf-jpa","groupId":"br.gov.frameworkdemoiselle.archetypes","versions":["3.0.0-ALPHA2","3.0.0-ALPHA1","2.5.4","2.5.3","2.5.2","2.5.2-RC1","2.5.1","2.5.0","2.5.0-RC1","2.5.0-BETA3","2.5.0-BETA2","2.5.0-BETA1","2.4.2","2.4.1","2.4.0","2.4.0-RC1","2.4.0-BETA3","2.4.0-BETA2","2.4.0-BETA1","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0","2.3.0-RC3","2.3.0-RC2","=2.5.2"]},{"artifactId":"demoiselle-minimal","groupId":"br.gov.frameworkdemoiselle.archetypes","versions":["2.5.4","2.5.3","2.5.2","2.5.2-RC1","2.5.1","2.5.0","2.5.0-RC1","2.5.0-BETA3","2.5.0-BETA2","2.5.0-BETA1","2.4.2","2.4.1","2.4.0","2.4.0-RC1","2.4.0-BETA3","2.4.0-BETA2","2.4.0-BETA1","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0","2.3.0-RC3","2.3.0-RC2","=2.5.2"],"description":"Basic archetype for generic applications using Demoiselle Framework"},{"artifactId":"demoiselle-vaadin-jpa","groupId":"br.gov.frameworkdemoiselle.archetypes","versions":["2.3.0"],"description":"Archetype for Vaadin web applications"},{"artifactId":"jbehave-assertj-archetype","groupId":"br.gov.frameworkdemoiselle.component.archetypes","versions":["1.6.0-BETA2"],"description":"Archetype for automated functional tests in desktop java applications"},{"artifactId":"jbehave-fest-archetype","groupId":"br.gov.frameworkdemoiselle.component.archetypes","versions":["1.6.0-BETA2","1.5.3","1.5.2","1.5.2-BETA3","1.5.2-BETA2","1.5.2-BETA1"],"description":"Archetype for automated functional tests in desktop java applications"},{"artifactId":"jbehave-junit-archetype","groupId":"br.gov.frameworkdemoiselle.component.archetypes","versions":["1.6.0-BETA2","1.5.3","1.5.2","1.5.2-BETA3","1.5.2-BETA2","1.5.2-BETA1"],"description":"Archetype for automated functional tests in web applications"},{"artifactId":"jbehave-selenium-archetype","groupId":"br.gov.frameworkdemoiselle.component.archetypes","versions":["1.6.0-BETA2","1.5.3","1.5.2","1.5.2-BETA3","1.5.2-BETA2","1.5.2-BETA1"],"description":"Archetype for automated functional tests in web applications"},{"artifactId":"cpf-archetype-plugin","groupId":"ca.bc.gov.open.cpf","versions":["5.1.1-RELEASE","5.1.0-RELEASE","5.0.6-RELEASE","5.0.5-RELEASE","5.0.4-RELEASE","5.0.3-RELEASE","5.0.2-RELEASE","5.0.1-RELEASE","5.0.0-RELEASE"],"description":"CPF Plug-in Maven Arechtype"},{"artifactId":"cpf-archetype-web","groupId":"ca.bc.gov.open.cpf","versions":["5.1.1-RELEASE","5.1.0-RELEASE","5.0.6-RELEASE","5.0.5-RELEASE","5.0.4-RELEASE","5.0.3-RELEASE","5.0.2-RELEASE","5.0.1-RELEASE","5.0.0-RELEASE"],"description":"Concurrent Processing Framework Archetype Web"},{"artifactId":"java","groupId":"ca.dsolutions","versions":["1.0"],"description":"Basic setup for Java projects with sound and resources folder"},{"artifactId":"javafx","groupId":"ca.dsolutions","versions":["1.0"],"description":"Basic setup for JavaFX projects with setup for deployment outside of IDE"},{"artifactId":"jdeploy-javafx-starter-archetype","groupId":"ca.weblite","versions":["1.0.7","1.0.6"],"description":"Parent for JavaFX starter project"},{"artifactId":"micronaut-groovy-cli","groupId":"cc.gasches.archetypes","versions":["1.1.0.M2","1.1.0.M2-1"]},{"artifactId":"micronaut-groovy-service","groupId":"cc.gasches.archetypes","versions":["1.1.0.M2","1.1.0.M2-1"]},{"artifactId":"micronaut-java-cli","groupId":"cc.gasches.archetypes","versions":["1.1.0.M2","1.1.0.M2-1"]},{"artifactId":"micronaut-java-function-aws","groupId":"cc.gasches.archetypes","versions":["1.1.0.M2","1.1.0.M2-1"]},{"artifactId":"micronaut-java-service","groupId":"cc.gasches.archetypes","versions":["1.1.0.M2","1.1.0.M2-1"]},{"artifactId":"micronaut-kotlin-cli","groupId":"cc.gasches.archetypes","versions":["1.1.0.M2","1.1.0.M2-1"]},{"artifactId":"micronaut-kotlin-service","groupId":"cc.gasches.archetypes","versions":["1.1.0.M2","1.1.0.M2-1"]},{"artifactId":"powerunit-extensions-matchers-archetype","groupId":"ch.powerunit.extensions","versions":["0.4.0","0.3.1","0.3.0","0.2.0","0.1.6","0.1.5","0.1.4","0.1.3","0.1.2","0.1.1","0.1.0","0.0.8","0.0.7","0.0.6"],"description":"This is a test framework for the JDK 1.8 - Extension to provide matchers based on annotation. - Archetype"},{"artifactId":"iib9-maven-projects","groupId":"ch.sbb.maven.archetypes","versions":["1.0"],"description":"IBM Integration Bus 9 Maven Project Structure"},{"artifactId":"wmb7-maven-projects","groupId":"ch.sbb.maven.archetypes","versions":["1.0"],"description":"WebSphere Message Broker 7 Maven Project Structure"},{"artifactId":"cloud-altemistafwk-app-jwt-authzsrv-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-app-jwt-ressrv-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-app-oauth2-authzsrv-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-app-oauth2-client-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-app-oauth2-ressrv-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-app-performance-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-app-performance-jdbc-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"ACF application JDBC Performance project"},{"artifactId":"cloud-altemistafwk-app-security-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-boot-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-common-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"ACF common project"},{"artifactId":"cloud-altemistafwk-common-soap-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk partial archetype for SOAP client/server interface definition"},{"artifactId":"cloud-altemistafwk-core-altemista-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-core-amazon-rds-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk RDS definition"},{"artifactId":"cloud-altemistafwk-core-amazon-s3-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk s3 definition"},{"artifactId":"cloud-altemistafwk-core-amazon-ses-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk ses definition"},{"artifactId":"cloud-altemistafwk-core-amazon-sqs-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk sqs definition"},{"artifactId":"cloud-altemistafwk-core-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"ACF core project"},{"artifactId":"cloud-altemistafwk-core-async-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-core-azure-active-directory-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk azure Active Directory definition"},{"artifactId":"cloud-altemistafwk-core-azure-key-vault-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Azure key-vault definition"},{"artifactId":"cloud-altemistafwk-core-azure-storage-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Azure Storage definition"},{"artifactId":"cloud-altemistafwk-core-azure-support-bus-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Azure service bus definition"},{"artifactId":"cloud-altemistafwk-core-azure-support-cosmos-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Azure Cosmos Db definition"},{"artifactId":"cloud-altemistafwk-core-batch-spring-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-core-cache-ehcache-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"ACF Cache EhCache project"},{"artifactId":"cloud-altemistafwk-core-docker-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-core-integration-amqp-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Spring Integration AMQP Adapter definition"},{"artifactId":"cloud-altemistafwk-core-integration-file-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Spring Integration File Adapter definition"},{"artifactId":"cloud-altemistafwk-core-integration-ftp-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Spring Integration FTP Adapter definition"},{"artifactId":"cloud-altemistafwk-core-integration-http-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Spring Integration HTTP Adapter definition"},{"artifactId":"cloud-altemistafwk-core-integration-ip-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Spring Integration TCP and UDP Adapter definition"},{"artifactId":"cloud-altemistafwk-core-integration-jms-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Spring Integration JMS Adapter definition"},{"artifactId":"cloud-altemistafwk-core-integration-jmx-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Spring Integration JMX Adapter definition"},{"artifactId":"cloud-altemistafwk-core-integration-jpa-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Spring Integration JPA Adapter definition"},{"artifactId":"cloud-altemistafwk-core-integration-mail-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Spring Integration MAIL Adapter definition"},{"artifactId":"cloud-altemistafwk-core-integration-mqtt-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Spring Integration MQTT Adapter definition"},{"artifactId":"cloud-altemistafwk-core-integration-resource-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Spring Integration Resource Adapter definition"},{"artifactId":"cloud-altemistafwk-core-integration-rmi-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Spring Integration RMI Adapter definition"},{"artifactId":"cloud-altemistafwk-core-integration-sftp-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Spring Integration SFTP Adapter definition"},{"artifactId":"cloud-altemistafwk-core-integration-websocket-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Spring Integration Web Sockets Adapter definition"},{"artifactId":"cloud-altemistafwk-core-integration-ws-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Spring Integration WebService Adapter definition"},{"artifactId":"cloud-altemistafwk-core-mail-javamail-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-core-message-active-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk ActiveMQ definition"},{"artifactId":"cloud-altemistafwk-core-message-rabbit-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk RabbitMQ definition"},{"artifactId":"cloud-altemistafwk-core-microservices-bus-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Microservices Bus definition"},{"artifactId":"cloud-altemistafwk-core-microservices-config-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Microservices Config Server definition"},{"artifactId":"cloud-altemistafwk-core-microservices-gateway-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Microservices Gateway definition"},{"artifactId":"cloud-altemistafwk-core-microservices-hystrix-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Microservices Hystrix definition"},{"artifactId":"cloud-altemistafwk-core-microservices-monitoring-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Microservices Monitoring definition"},{"artifactId":"cloud-altemistafwk-core-microservices-registry-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Microservices Registry definition"},{"artifactId":"cloud-altemistafwk-core-microservices-service-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Microservices Service definition"},{"artifactId":"cloud-altemistafwk-core-microservices-sleuth-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Microservices Sleuth definition"},{"artifactId":"cloud-altemistafwk-core-microservices-zipkin-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk Microservices Zipkin definition"},{"artifactId":"cloud-altemistafwk-core-monitoring-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk partial archetype for Core Monitoring module"},{"artifactId":"cloud-altemistafwk-core-oauth2-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-core-persistence-jpa-hibernate-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-core-persistence-mongodb-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"ACF MongoDB project"},{"artifactId":"cloud-altemistafwk-core-persistence-mybatis-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"ACF MyBatis project"},{"artifactId":"cloud-altemistafwk-core-reporting-jasper-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"ACF Core Jasper project"},{"artifactId":"cloud-altemistafwk-core-rules-drools-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"ACF Drools project"},{"artifactId":"cloud-altemistafwk-core-soap-wss-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk partial archetype for Spring Security based WS-Security for Apache CXF based SOAP client"},{"artifactId":"cloud-altemistafwk-core-stream-kafka-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-core-stream-rabbit-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-core-swagger-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-core-swagger-web-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-core-thymeleaf-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-core-workflow-activiti-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"ACF workflow-activiti project"},{"artifactId":"cloud-altemistafwk-empty-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-microservice-application-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-microservice-client-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-microservice-infrastructure-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-web-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"ACF web project"},{"artifactId":"cloud-altemistafwk-web-monitoring-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk partial archetype for web monitoring module"},{"artifactId":"cloud-altemistafwk-web-soap-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk partial archetype for Apache CXF based SOAP server interface"},{"artifactId":"cloud-altemistafwk-web-soap-wss-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"cloud-altemistafwk partial archetype for Spring Security based WS-Security for Apache CXF based SOAP server"},{"artifactId":"cloud-altemistafwk-webapp-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-webapp-docker-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-webapp-jsf-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"ACF webapp-jsf project"},{"artifactId":"cloud-altemistafwk-webapp-jsp-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"ACF webapp-jsp project"},{"artifactId":"cloud-altemistafwk-webapp-swagger-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"]},{"artifactId":"cloud-altemistafwk-webapp-thymeleaf-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"ACF webapp-thymeleaf project"},{"artifactId":"cloud-altemistafwk-webapp-tiles-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"ACF webapp-tiles project"},{"artifactId":"cloud-altemistafwk-webapp-webflow-archetype","groupId":"cloud.altemista.fwk.archetype","versions":["3.1.0.RELEASE","3.0.1.RELEASE","3.0.0.RELEASE"],"description":"ACF Webflow project"},{"artifactId":"just-maven-clojure-archetype","groupId":"cloud.seltzer1717.clojure","versions":["0.3-RELEASE","0.2-RELEASE","0.1-RELEASE"],"description":"An archetype for Clojure projects that requires only Maven"},{"artifactId":"just-maven-clojurescript-archetype","groupId":"cloud.seltzer1717.clojure","versions":["0.21-RELEASE","0.2-RELEASE","0.1-RELEASE"],"description":"An archetype for ClojureScript projects that requires only Maven"},{"artifactId":"maven-archetype-plugin","groupId":"cn.hchub","versions":["1.5.0"],"description":"HC :: maven archetype :: plugin"},{"artifactId":"hvmbasic-archetype","groupId":"cn.hyperchain","versions":["1.0.3","1.0.2"],"description":"Hyperchain project archetype use java contract"},{"artifactId":"hvmbasic-archetype-lite","groupId":"cn.hyperchain","versions":["1.0.0"],"description":"Hyperchain project archetype use java contract with lite sdk"},{"artifactId":"java-contract-archetype","groupId":"cn.hyperchain","versions":["1.0.2","1.0.1"],"description":"A project archetype for hyperchain java contract"},{"artifactId":"shoulder-archetype-simple","groupId":"cn.itlym","versions":["0.6","0.5","0.4"],"description":"simple maven-archetype for Shoulder Framework"},{"artifactId":"jdevelops-archetype","groupId":"cn.jdevelops","versions":["0.0.6","0.0.5","0.0.4","0.0.3","0.0.2"],"description":"jdevelops web maven archetype"},{"artifactId":"jesims-security-archetype","groupId":"cn.jesims","versions":["1.1.1","1.1.0","1.0.0"],"description":"Jesims Security"},{"artifactId":"easyapp-archetype","groupId":"cn.jonay","versions":["1.0.0"],"description":"a simple way to create springboot application"},{"artifactId":"sec-template-archetype","groupId":"cn.lioyan","versions":["0.0.4","0.0.2"],"description":"SEC Boot Dependencies"},{"artifactId":"think-cloud-quickstart-archetype","groupId":"cn.org.thinkcloud.quickstart","versions":["2.0.0.RELEASE","1.0.1.RELEASE"],"description":"通用依赖-Parent"},{"artifactId":"rest-with-oauth2","groupId":"cn.stackbox.archetypes","versions":["0.0.1"],"description":"SpringBoot Project Generator for springboot, oauth2, mybatis"},{"artifactId":"weforward-framework-archetype","groupId":"cn.weforward","versions":["1.2.7","1.2.6","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.0"],"description":"weforward module"},{"artifactId":"cdap-app-archetype","groupId":"co.cask.cdap","versions":["5.1.2","5.1.1","5.1.0","5.0.0","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3.0","4.2.0","4.1.3","4.1.2","4.1.1","4.1.0","4.0.1","4.0.0","3.6.0","3.5.5","3.5.4","3.5.3","3.5.1","3.5.0","3.4.3","3.4.2","3.4.1","3.4.0","3.3.7","3.3.6","3.3.5","3.3.4","3.3.3","3.3.2","3.3.1","3.3.0","3.2.2","3.2.1","3.2.0","3.1.2","3.1.1","3.1.0","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.8.3","2.8.2","2.8.1","2.8.0","2.7.1","2.7.0","2.6.3","2.6.2","2.6.1","2.6.0","2.5.2","2.5.1","2.5.0"]},{"artifactId":"cdap-data-pipeline-plugins-archetype","groupId":"co.cask.cdap","versions":["5.1.2","5.1.1","5.1.0","5.0.0","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3.0","4.2.0","4.1.3","4.1.2","4.1.1","4.1.0","4.0.1","4.0.0","3.6.0","3.5.5","3.5.4","3.5.3","3.5.1","3.5.0","3.4.3","3.4.2","3.4.1","3.4.0"]},{"artifactId":"cdap-etl-batch-sink-archetype","groupId":"co.cask.cdap","versions":["3.6.0","3.5.5","3.5.4","3.5.3","3.5.1","3.5.0","3.4.3","3.4.2","3.4.1","3.4.0","3.3.7","3.3.6","3.3.5","3.3.4","3.3.3","3.3.2","3.3.1","3.3.0","3.2.2","3.2.1","3.2.0","3.1.2","3.1.1","3.1.0","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0"]},{"artifactId":"cdap-etl-batch-source-archetype","groupId":"co.cask.cdap","versions":["3.6.0","3.5.5","3.5.4","3.5.3","3.5.1","3.5.0","3.4.3","3.4.2","3.4.1","3.4.0","3.3.7","3.3.6","3.3.5","3.3.4","3.3.3","3.3.2","3.3.1","3.3.0","3.2.2","3.2.1","3.2.0","3.1.2","3.1.1","3.1.0","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0"]},{"artifactId":"cdap-etl-realtime-sink-archetype","groupId":"co.cask.cdap","versions":["4.2.0","4.1.3","4.1.2","4.1.1","4.1.0","4.0.1","4.0.0","3.6.0","3.5.5","3.5.4","3.5.3","3.5.1","3.5.0","3.4.3","3.4.2","3.4.1","3.4.0","3.3.7","3.3.6","3.3.5","3.3.4","3.3.3","3.3.2","3.3.1","3.3.0","3.2.2","3.2.1","3.2.0","3.1.2","3.1.1","3.1.0","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0"]},{"artifactId":"cdap-etl-realtime-source-archetype","groupId":"co.cask.cdap","versions":["4.2.0","4.1.3","4.1.2","4.1.1","4.1.0","4.0.1","4.0.0","3.6.0","3.5.5","3.5.4","3.5.3","3.5.1","3.5.0","3.4.3","3.4.2","3.4.1","3.4.0","3.3.7","3.3.6","3.3.5","3.3.4","3.3.3","3.3.2","3.3.1","3.3.0","3.2.2","3.2.1","3.2.0","3.1.2","3.1.1","3.1.0","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0"]},{"artifactId":"cdap-etl-transform-archetype","groupId":"co.cask.cdap","versions":["3.6.0","3.5.5","3.5.4","3.5.3","3.5.1","3.5.0","3.4.3","3.4.2","3.4.1","3.4.0","3.3.7","3.3.6","3.3.5","3.3.4","3.3.3","3.3.2","3.3.1","3.3.0","3.2.2","3.2.1","3.2.0","3.1.2","3.1.1","3.1.0","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0"]},{"artifactId":"cdap-mapreduce-archetype","groupId":"co.cask.cdap","versions":["5.1.2","5.1.1","5.1.0","5.0.0","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3.0","4.2.0","4.1.3","4.1.2","4.1.1","4.1.0","4.0.1","4.0.0","3.6.0","3.5.5","3.5.4","3.5.3","3.5.1","3.5.0","3.4.3","3.4.2","3.4.1","3.4.0","3.3.7","3.3.6","3.3.5","3.3.4","3.3.3","3.3.2","3.3.1","3.3.0"]},{"artifactId":"cdap-spark-java-archetype","groupId":"co.cask.cdap","versions":["5.1.2","5.1.1","5.1.0","5.0.0","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3.0","4.2.0","4.1.3","4.1.2","4.1.1","4.1.0","4.0.1","4.0.0","3.6.0","3.5.5","3.5.4","3.5.3","3.5.1","3.5.0","3.4.3","3.4.2","3.4.1","3.4.0","3.3.7","3.3.6","3.3.5","3.3.4","3.3.3","3.3.2","3.3.1","3.3.0","3.2.2","3.2.1","3.2.0","3.1.2","3.1.1","3.1.0","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.8.3","2.8.2","2.8.1","2.8.0","2.7.1","2.7.0","2.6.3","2.6.2","2.6.1","2.6.0","2.5.2","2.5.1","2.5.0"]},{"artifactId":"cdap-spark-scala-archetype","groupId":"co.cask.cdap","versions":["5.1.2","5.1.1","5.1.0","5.0.0","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3.0","4.2.0","4.1.3","4.1.2","4.1.1","4.1.0","4.0.1","4.0.0","3.6.0","3.5.5","3.5.4","3.5.3","3.5.1","3.5.0","3.4.3","3.4.2","3.4.1","3.4.0","3.3.7","3.3.6","3.3.5","3.3.4","3.3.3","3.3.2","3.3.1","3.3.0","3.2.2","3.2.1","3.2.0","3.1.2","3.1.1","3.1.0","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.8.3","2.8.2","2.8.1","2.8.0","2.7.1","2.7.0","2.6.3","2.6.2","2.6.1","2.6.0","2.5.2","2.5.1","2.5.0"]},{"artifactId":"tigon-app-archetype","groupId":"co.cask.tigon","versions":["0.2.1","0.2.0","0.1.0"]},{"artifactId":"spring-mvc-archetype","groupId":"co.ntier","versions":["1.0.2"],"description":"An extremely simple Spring MVC archetype, configured with NO XML."},{"artifactId":"maven-archetype","groupId":"co.spraybot","versions":["0.1.0"],"description":"A Maven archetype for easily creating internal spraybot libraries."},{"artifactId":"quick-start","groupId":"com.a9ski","versions":["1.0.0"],"description":"Maven archetype for java CLI projects"},{"artifactId":"quick-start","groupId":"com.a9ski.archetypes","versions":["1.2.0","1.1.0","1.0.0"],"description":"Maven archetype for java CLI projects"},{"artifactId":"archetype","groupId":"com.aamend.spark","versions":["1.0"],"description":"Simple archetype to generate spark based project using Maven."},{"artifactId":"backup-plugin-archetype","groupId":"com.abiquo","versions":["5.4.0","5.3.0","5.2.1","5.2.0","5.1.2","5.1.1","5.1.0","5.0.3","5.0.2","5.0.1","5.0.0","4.7.7","4.7.2","4.7.1","4.7.0","4.6.7","4.6.6","4.6.4","4.6.3","4.6.2","4.6.1","4.6.0","4.5.0","4.4.0","4.2.3","4.2.2","4.2.1","4.2.0","4.0.4"],"description":"Maven archetype for an Abiquo Backup plugin"},{"artifactId":"storage-plugin-archetype","groupId":"com.abiquo","versions":["5.4.0","5.3.0","5.2.1","5.2.0","5.1.2","5.1.1","5.1.0","5.0.3","5.0.2","5.0.1","5.0.0","4.7.7","4.7.2","4.7.1","4.7.0","4.6.7","4.6.6","4.6.4","4.6.3","4.6.2","4.6.1","4.6.0","4.5.0","4.4.0","4.2.3","4.2.1","4.2.0","4.0.0","3.10.0","3.8.2","3.8.0","3.6.0","3.4.0","3.2.1","3.2.0","3.1.0","3.0.0","2.4.0","2.2.1","2.2.0"],"description":"Maven archetype for an Abiquo Storage Plugin"},{"artifactId":"gateway-archetype-camel-ospl","groupId":"com.adlinktech.gateway.archetypes","versions":["3.0.1","3.0.0","3.0.0rc1"],"description":"Creates a new Maven project using Vortex Gateway."},{"artifactId":"aem-project-archetype","groupId":"com.adobe.aem","versions":["41","40","39","37","36","35","34","33","32","31","30","29","28","27","26","25","24"],"description":"AEM multi-module archetype."},{"artifactId":"cif-project-archetype","groupId":"com.adobe.commerce.cif","versions":["0.11.0","0.10.0","0.9.0","0.7.0","0.6.2","0.6.0","0.5.0","0.4.0","0.3.0","0.2.0"],"description":"AEM CIF Project Archetype"},{"artifactId":"aem-spa-project-archetype","groupId":"com.adobe.cq.spa.archetypes","versions":["4.0.0","3.0.0","2.0.2","2.0.1","2.0.0","v2.0.1"],"description":"Maven Archetype for creating new AEM SPA projects"},{"artifactId":"aem-project-archetype","groupId":"com.adobe.granite.archetypes","versions":["23","22","21","20","19","18","17","16","15","14","13","12","11","10","9","8"],"description":"AEM multi-module archetype."},{"artifactId":"sample-project-archetype","groupId":"com.adobe.granite.archetypes","versions":["7","6","5"],"description":"Parent and Reactor for 'my-granite-project'"},{"artifactId":"enhanced-mule-archetype","groupId":"com.aeontronix.enhancedmule","versions":["1.0.0-beta7","1.0.0-beta6","1.0.0-beta5","1.0.0-beta4","1.0.0-beta3","0.9.1","0.9.0"]},{"artifactId":"agreste-app-archetype","groupId":"com.agapsys","versions":["0.1.0-20170513","0.1.0-20170508","0.1.0-20170415","0.1.0-20170330"],"description":"AGRESTE Application Archetype"},{"artifactId":"agreste-lib-archetype","groupId":"com.agapsys","versions":["0.1.0-20170513","0.1.0-20170508","0.1.0-20170415","0.1.0-20170330"],"description":"AGRESTE Library Archetype"},{"artifactId":"rcf-app-archetype","groupId":"com.agapsys","versions":["0.1.0-20170413","0.1.0-20170322"],"description":"Basic application based on Agapsys REST Controller Framework"},{"artifactId":"agreste-app-archetype","groupId":"com.agapsys.archetypes","versions":["6.0.0","5.0.0","4.0.0","3.0.0","2.0.0"],"description":"Basic application based on Agapsys AGRESTE"},{"artifactId":"agreste-lib-archetype","groupId":"com.agapsys.archetypes","versions":["6.0.0","5.0.0","4.0.0","3.0.0","2.0.0"],"description":"Basic library based on Agapsys AGRESTE"},{"artifactId":"rcf-app-archetype","groupId":"com.agapsys.archetypes","versions":["5.0.0","4.0.0","3.0.0","2.0.0","1.0.0","0.2.0","0.1.0"],"description":"Basic application based on Agapsys REST Controller Framework"},{"artifactId":"docbkx-quickstart-archetype","groupId":"com.agilejava.docbkx","versions":["2.0.17","2.0.16","2.0.15","2.0.14","2.0.13","2.0.12","2.0.11","2.0.10"]},{"artifactId":"service-automation-archetype","groupId":"com.aimconsulting","versions":["1.3","1.2","1.1","1.0"],"description":"A project used to bootstrap a basic web service integration test framework"},{"artifactId":"igniter","groupId":"com.airhacks","versions":["1.9.4","1.9.2","1.9.1","1.9","1.8","1.7","1.6","1.2","1.1"],"description":"An application template for building Java FX MVP applications\n with Dependency Injection and afterburner.fx"},{"artifactId":"jakartaee-essentials-archetype","groupId":"com.airhacks","versions":["0.0.7","0.0.6","0.0.5","0.0.4","0.0.3","0.0.2"],"description":"Jakarta EE with MicroProfile project quickstart template. Clean, lean and minimalistic."},{"artifactId":"javaee-bce-archetype","groupId":"com.airhacks","versions":["0.0.4","0.0.3","0.0.2","0.0.1","0.0.4.1"],"description":"Maven Archetype (wizard) for the javaee-bce-pom project"},{"artifactId":"javaee7-essentials-archetype","groupId":"com.airhacks","versions":["1.3","1.2","1.1","1.0"],"description":"Java EE 7 project template. Clean, lean and minimalistic."},{"artifactId":"javaee8-essentials-archetype","groupId":"com.airhacks","versions":["0.0.4","0.0.2","0.0.1"],"description":"Java EE 8 project quickstart template. Clean, lean and minimalistic."},{"artifactId":"microprofile-essentials-archetype","groupId":"com.airhacks","versions":["0.0.2"],"description":"Java EE microprofile project quickstart template. Clean, lean and minimalistic."},{"artifactId":"quarkee-archetype","groupId":"com.airhacks","versions":["0.0.3","0.0.1"],"description":"quarkus.io with Java EE-stic out-of-the-box experience"},{"artifactId":"akka-grpc-quickstart-archetype","groupId":"com.akkagrpc","versions":["1.2.0","1.1","1.0"],"description":"The opinionated microservices framework built using akka platform, akka grpc"},{"artifactId":"akkaserverless-maven-archetype","groupId":"com.akkaserverless","versions":["0.10.6","0.10.5","0.10.4","0.10.3","0.10.2","0.10.1","0.10.0","0.9.0","0.8.0","0.7.2","0.7.1","0.7.0","0.7.0-beta.19","0.7.0-beta.18","0.7.0-beta.15"],"description":"This archetype can be used to generate a project suitable for the general development of Akka Serverless applications"},{"artifactId":"akkaserverless-maven-archetype-event-sourced-entity","groupId":"com.akkaserverless","versions":["0.10.6","0.10.5","0.10.4","0.10.3","0.10.2","0.10.1","0.10.0","0.9.0","0.8.0","0.7.2","0.7.1","0.7.0","0.7.0-beta.19","0.7.0-beta.18","0.7.0-beta.15"],"description":"This archetype can be used to generate a project suitable for the general development of Akka Serverless applications"},{"artifactId":"botrino-archetype","groupId":"com.alex1304.botrino","versions":["1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0","1.0.0-alpha5","1.0.0-alpha4","1.0.0-alpha3","1.0.0-alpha2","1.0.0-alpha1","1.0.0-RC1","1.0.0-M3","1.0.0-M2","1.0.0-M1"]},{"artifactId":"spring-grow","groupId":"com.alexanderperucci","versions":["1.0.1","1.0.0"],"description":"Maven Archetype which can generate a secured Spring MVC Web Application (XML Configuration)"},{"artifactId":"flink-quickstart-java","groupId":"com.alibaba.blink","versions":["1.5.1","blink-3.7.0","blink-3.6.8","blink-3.6.4","blink-3.4.0","blink-3.3.0","blink-3.2.4","blink-3.2.3","blink-3.2.2","blink-3.2.1","blink-3.2.0"]},{"artifactId":"flink-quickstart-scala","groupId":"com.alibaba.blink","versions":["1.5.1","blink-3.7.0","blink-3.6.8","blink-3.6.4","blink-3.4.0","blink-3.3.0","blink-3.2.4","blink-3.2.3","blink-3.2.2","blink-3.2.1","blink-3.2.0"]},{"artifactId":"archetype-webx-quickstart","groupId":"com.alibaba.citrus.sample","versions":["1.8","1.7","1.6","1.5","1.4","1.3","1.2","1.1","1.0"]},{"artifactId":"cola-framework-archetype-service","groupId":"com.alibaba.cola","versions":["4.3.1","4.3.0","4.2.2","4.2.1","4.1.0","4.0.1","4.0.0"],"description":"${project.artifactId}"},{"artifactId":"cola-framework-archetype-web","groupId":"com.alibaba.cola","versions":["4.3.1","4.3.0","4.2.2","4.2.1","4.1.0","4.0.1","4.0.0","3.1.0"],"description":"${project.artifactId}"},{"artifactId":"cola-framework-archetype-service","groupId":"com.aliyun","versions":["3.1.0"],"description":"Cola framework archetype-service"},{"artifactId":"cola-framework-archetype-web","groupId":"com.aliyun","versions":["3.1.0"],"description":"Cola framework archetype-web"},{"artifactId":"awe-boot-archetype","groupId":"com.almis.awe","versions":["4.6.6","4.6.5","4.6.4","4.6.3","4.6.2","4.6.1","4.6.0","4.5.3","4.5.2","4.5.1","4.5.0","4.4.9","4.4.8","4.4.7","4.4.6","4.4.5","4.4.4","4.4.3","4.4.2","4.4.1","4.4.0","4.3.6","4.3.4","4.3.3","4.3.2","4.3.1","4.3.0","4.2.9","4.2.8","4.2.7","4.2.6","4.2.5","4.2.4","4.2.3","4.2.2","4.2.1","4.2.0","4.1.7","4.1.6","4.1.5","4.1.4","4.1.3","4.1.2","4.1.1","4.1.0","4.0.8","4.0.7","4.0.6","4.0.5","4.0.4","4.0.3"],"description":"This archetype generates a simple AWE web application with spring boot"},{"artifactId":"ask-sdk-maven-plugins","groupId":"com.amazon.alexa","versions":["0.1.1","0.1.0"],"description":"Maven plugins for the ASK SDK and/or associated frameworks."},{"artifactId":"aws-java-sdk-archetype","groupId":"com.amazonaws","versions":["1.0.1","1.0.0"],"description":"Maven archetype for a simple AWS Java application."},{"artifactId":"aws-serverless-jersey-archetype","groupId":"com.amazonaws.serverless.archetypes","versions":["1.9.1","1.9","1.8.2","1.8.1","1.8","1.7","1.6.1","1.6","1.5.2","1.5.1","1.5","1.4","1.3.2","1.3.1","1.3","1.2","1.1.4","1.1.3","1.1.2","1.1.1","1.1","1.0.2","1.0.1","1.0"]},{"artifactId":"aws-serverless-spark-archetype","groupId":"com.amazonaws.serverless.archetypes","versions":["1.9.1","1.9","1.8.2","1.8.1","1.8","1.7","1.6.1","1.6","1.5.2","1.5.1","1.5","1.4","1.3.2","1.3.1","1.3","1.2","1.1.4","1.1.3","1.1.2","1.1.1","1.1","1.0.2","1.0.1","1.0"]},{"artifactId":"aws-serverless-spring-archetype","groupId":"com.amazonaws.serverless.archetypes","versions":["1.9.1","1.9","1.8.2","1.8.1","1.8","1.7","1.6.1","1.6","1.5.2","1.5.1","1.5","1.4","1.3.2","1.3.1","1.3","1.2","1.1.4","1.1.3","1.1.2","1.1.1","1.1","1.0.2","1.0.1","1.0"]},{"artifactId":"aws-serverless-springboot-archetype","groupId":"com.amazonaws.serverless.archetypes","versions":["1.5.2","1.5.1","1.5","1.4","1.3.2","1.3.1","1.3","1.2","1.1.4","1.1.3","1.1.2","1.1.1","1.1","1.0.2","1.0.1","1.0"]},{"artifactId":"aws-serverless-springboot2-archetype","groupId":"com.amazonaws.serverless.archetypes","versions":["1.9.1","1.9","1.8.2","1.8.1","1.8","1.7","1.6.1","1.6","1.5.2","1.5.1","1.5","1.4","1.3.2","1.3.1","1.3"]},{"artifactId":"aws-serverless-struts-archetype","groupId":"com.amazonaws.serverless.archetypes","versions":["1.9.1","1.9"]},{"artifactId":"aws-serverless-struts2-archetype","groupId":"com.amazonaws.serverless.archetypes","versions":["1.8.2","1.8.1","1.8","1.7","1.6.1","1.6","1.5.2","1.5.1","1.5","1.4","1.3.2","1.3.1","1.3","1.2"]},{"artifactId":"stacks-aws-archetype","groupId":"com.amido.stacks.modules","versions":["1.0.2","1.0.1"],"description":"Stack aws support"},{"artifactId":"stacks-aws-dynamodb-archetype","groupId":"com.amido.stacks.modules","versions":["3.0.0","2.2.1","2.1.1","2.1.0","1.1.0","1.0.0"],"description":"Core AWS DynamoDB components for the Java Stacks solution"},{"artifactId":"stacks-azure-archetype","groupId":"com.amido.stacks.modules","versions":["1.0.3","1.0.2"],"description":"The parent for all Stacks modules"},{"artifactId":"stacks-azure-cosmos-archetype","groupId":"com.amido.stacks.modules","versions":["3.0.1","3.0.0","2.1.1","2.0.1","2.0.0","1.0.0"],"description":"Core Azure Cosmos components for the Java Stacks solution"},{"artifactId":"stacks-azure-servicebus-archetype","groupId":"com.amido.stacks.modules","versions":["2.0.1","2.0.0","1.0.0"],"description":"Core Azure Service Bus components for the Java Stacks solution"},{"artifactId":"stacks-core-api-archetype","groupId":"com.amido.stacks.modules","versions":["1.0.0","1.0.4.4-RELEASE","1.0.3.2-RELEASE","1.0.2.2-RELEASE","1.0.1.2-RELEASE","1.0.0.47-RELEASE"],"description":"Core API components for the Java Stacks solution"},{"artifactId":"stacks-core-commons-archetype","groupId":"com.amido.stacks.modules","versions":["2.0.5","2.0.4","2.0.2","2.0.1","2.0.0","1.0.3","1.0.2","1.0.0"],"description":"Common components for the Java Stacks solution"},{"artifactId":"stacks-core-cqrs-archetype","groupId":"com.amido.stacks.modules","versions":["2.0.0.2-RELEASE","1.0.0.21-RELEASE"],"description":"Core CQRS components for the Java Stacks solution"},{"artifactId":"stacks-core-messaging-archetype","groupId":"com.amido.stacks.modules","versions":["1.0.2","1.0.0"],"description":"Core messaging components for the Java Stacks solution"},{"artifactId":"stacks-modules-parent-archetype","groupId":"com.amido.stacks.modules","versions":["2.0.6-RELEASE","2.0.5-RELEASE","2.0.4-RELEASE","2.0.3-RELEASE","2.0.2-RELEASE","2.0.1-RELEASE","2.0.0-RELEASE","1.0.2","1.0.1-RC5","1.0.0-RC5","1.0.0-RC5.6-RELEASE","1.0.0-RC5.3-RELEASE","1.0.0-RC5.16-RELEASE","1.0.0-RC5.14-RELEASE","1.0.0-RC5.12-RELEASE","1.0.0-RC5.10-RELEASE","1.0.0-RC4.259-RELEASE","1.0.0-RC3","1.0.2.3-RELEASE","1.0.2.2-RELEASE","1.0.2.1","1.0.2.1-RELEASE"],"description":"The parent for all Stacks modules"},{"artifactId":"velcro","groupId":"com.andrewreitz.velcro","versions":["3.0.3","3.0.2","3.0.1","3.0.0","2.3.1","2.3.0","2.2.1","2.2.0","2.1.3","2.1.2","2.1.1","2.1.0","2.0.0","1.0.2","1.0.1","1.0.0"],"description":"Awesome Maven archetype for Android"},{"artifactId":"jakartaee9-essentials","groupId":"com.apuntesdejava","versions":["0.2","0.1"],"description":"This archetype allows you to create a Jakarta EE project\n with the least amount of dependencies and plugins.\n Includes an index.jsp file, and web.xml and persistence.xml files."},{"artifactId":"gwtp-appengine-guice-archetype","groupId":"com.arcbees.archetypes","versions":["1.5.3","1.5.2","1.5.1","1.5"],"description":"GWTP Appengine Guice application"},{"artifactId":"gwtp-basic-archetype","groupId":"com.arcbees.archetypes","versions":["1.5.3","1.5.2","1.5.1","1.5"],"description":"Basic GWTP application"},{"artifactId":"aws-gateway","groupId":"com.asrevo.archetypes","versions":["0.0.3","0.0.2"],"description":"Demo project for Spring Boot"},{"artifactId":"aws-microservice","groupId":"com.asrevo.archetypes","versions":["0.0.3","0.0.2","0.0.1"],"description":"Demo project for Spring Boot"},{"artifactId":"asta4d-archetype","groupId":"com.astamuse","versions":["1.2-M2","1.2-M1","1.1-b3","1.1-b2","1.1-b1","1.1-Xmas","1.0-b4","1.0-b3","1.0-b2","1.0-b1","1.0-Valentines","0.14.606","0.12.30","0.12.13","0.8.6","0.7.24","0.7.22","0.5.16","0.14.4.30","0.14.4.28","0.14.2.10","0.14.1.31"],"description":"an archetype that is automatically created from asta4d-sample."},{"artifactId":"astra-archetype","groupId":"com.astralanguage","versions":["1.3.4","1.3.3","1.3.2","1.3.1","1.3.0","1.2.1","1.2.0","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.4","1.0.3","1.0.2","1.0.0"],"description":"Archetype for generating ASTRA projects"},{"artifactId":"bamboo-specs-archetype","groupId":"com.atlassian.bamboo","versions":["9.2.1","9.2.0-rc1","9.1.1","9.1.0","9.1.0-rc1","9.0.2","9.0.1","9.0.0","9.0.0-rc1","9.0.0-aui","8.2.7","8.2.6","8.2.5","8.2.4","8.2.3","8.2.2","8.2.1","8.2.0","8.2.0-rc1","8.1.11","8.1.10","8.1.9","8.1.8","8.1.7","8.1.6","8.1.5","8.1.4","8.1.3","8.1.2","8.1.1","8.1.0","8.0.12","8.0.12-m01","8.0.11","8.0.10","8.0.9","8.0.8","8.0.7","8.0.6","8.0.5","8.0.5-m01","8.0.4","8.0.3","8.0.2","8.0.1","8.0.1-m02","8.0.1-m01","8.0.0","8.0.0-rc4","8.0.0-rc2","8.0.0-rc1","8.0.0-m04","8.0.0-m03","8.0.0-m02","8.0.0-BDEV-16109-m02","7.3.0-m08","7.2.10","7.2.9","7.2.8","7.2.7","7.2.6","7.2.5","7.2.4","7.2.3","7.2.2","7.2.1","7.2.0","7.2.0-rc3","7.1.4","7.1.3","7.1.3-m01","7.1.2","7.1.1","7.1.0-rc1","7.1.0-m06","7.1.0-m05","7.1.0-m04","7.1.0-BAM-19753-1","7.1.0-BAM-14321-webhooks","7.1.0-BAM-14321-webhooks-2","7.0.6","7.0.5","7.0.5-m01","7.0.4","7.0.4-BDEV-15887-1","7.0.3","7.0.2","7.0.1","7.0.0","7.0.0-rc2","7.0.0-rc1","7.0.0-m08","7.0.0-m07","7.0.0-m06","7.0.0-m05","6.10.6","6.10.5","6.10.5-m01","6.10.4","6.10.3","6.10.2","6.9.2","6.9.1","6.9.0","6.9.0-rc2","6.9.0-rc1","6.8.3","6.8.2","6.8.1","6.8.0","6.8.0-rc1","6.7.3","6.7.2","6.7.1","6.7.0","6.7.0-rc2","6.6.3","6.6.2","6.6.1","6.6.0","6.6.0-rc2","6.6.0-rc1","6.5.1","6.5.0","6.4.2","6.4.1","6.4.0","6.4.0-rc1","6.3.4","6.3.3","6.3.2","6.3.1","6.3.0","6.3.0-rc3","6.2.9","6.2.8","6.2.7","6.2.6","6.2.5","6.2.4","6.2.3","6.2.2","6.2.1","6.2.0-m7","6.2.0-m14","6.2.0-eap","6.1.6","6.1.5","6.1.4","6.1.1","6.1.0","6.0.5","6.0.2","6.0.1","6.0.0","5.16.33"]},{"artifactId":"atlassian-connect-spring-boot-archetype","groupId":"com.atlassian.connect","versions":["3.0.2","3.0.1","3.0.0","3.0.0-beta-1","2.3.6","2.3.5","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0","2.2.7","2.2.6","2.2.3","2.2.2","2.2.1","2.2.0","2.1.9","2.1.8","2.1.5","2.1.4","2.1.3","2.1.2","2.1.1","2.1.0","2.0.7","2.0.6","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","2.0.0-beta-1","1.5.1","1.5.0","1.4.3","1.4.2","1.4.0","1.3.6","1.3.5","1.3.4","1.3.3","1.3.2","1.3.1","1.3.0","1.2.1","1.2.0","1.1.0","1.0.0","1.0.0-beta-3","1.0.0-beta-2","1.0.0-beta-1","0.9.1-alpha","0.9.0-alpha"],"description":"Provides a Maven archetype for Atlassian Connect add-ons using Spring Boot"},{"artifactId":"bamboo-plugin-archetype","groupId":"com.atlassian.maven.archetypes","versions":["5.0.18"],"description":"This archetype can be used to create a new Atlassian Bamboo plugin project"},{"artifactId":"confluence-plugin-archetype","groupId":"com.atlassian.maven.archetypes","versions":["5.0.18"],"description":"This archetype can be used to create a new Atlassian Confluence plugin project"},{"artifactId":"crowd-plugin-archetype","groupId":"com.atlassian.maven.archetypes","versions":["5.0.18"],"description":"This archetype can be used to create a new Atlassian Crowd plugin project"},{"artifactId":"fecru-plugin-archetype","groupId":"com.atlassian.maven.archetypes","versions":["5.0.18"],"description":"This archetype can be used to create a new Atlassian FishEye / Crucible plugin project"},{"artifactId":"jira-plugin-archetype","groupId":"com.atlassian.maven.archetypes","versions":["5.0.18"],"description":"This archetype can be used to create a new Atlassian JIRA plugin project"},{"artifactId":"jira4-plugin-archetype","groupId":"com.atlassian.maven.archetypes","versions":["5.0.18"],"description":"This archetype can be used to create a new Atlassian JIRA plugin project for JIRA 4.x"},{"artifactId":"plugin-archetype","groupId":"com.atlassian.maven.archetypes","versions":["5.0.18"],"description":"This archetype can be used to create a new cross-product Atlassian plugin project"},{"artifactId":"refapp-plugin-archetype","groupId":"com.atlassian.maven.archetypes","versions":["5.0.18"],"description":"This archetype can be used to create a new Atlassian Refapp plugin project"},{"artifactId":"stash-plugin-archetype","groupId":"com.atlassian.maven.archetypes","versions":["5.0.18"],"description":"This archetype can be used to create a new Atlassian Stash plugin project"},{"artifactId":"studio-plugin-archetype","groupId":"com.atlassian.maven.archetypes","versions":["5.0.18"],"description":"This archetype can be used to create a new Atlassian Studio plugin project"},{"artifactId":"repo-archetype","groupId":"com.atolcd.alfresco","versions":["1.1.9","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.0"],"description":"Alfresco repository module archetype"},{"artifactId":"share-archetype","groupId":"com.atolcd.alfresco","versions":["1.1.9","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.0"],"description":"Alfresco Share module archetype"},{"artifactId":"ajsc-archetype","groupId":"com.att.ajsc","versions":["3.0.11-oss","3.0.10-oss","3.0.9-oss","3.0.8-oss","3.0.7-oss","3.0.6-oss","3.0.5-oss","3.0.4-oss","3.0.3-oss","3.0.2-oss","3.0.1-oss","3.0.0","2.1.0","2.0.0","1.0.0"]},{"artifactId":"ajsc-surfsup-archetype","groupId":"com.att.ajsc","versions":["1.0.0"]},{"artifactId":"sdk-camunda-archetype","groupId":"com.att.ajsc","versions":["7.6.2-00","7.6.2-00-oss"],"description":"sdk-camunda-archetype-resources"},{"artifactId":"sdk-java-camel-archetype","groupId":"com.att.ajsc","versions":["6.2.0.6","6.2.0.6-oss"],"description":"AJSC Camel Archetype"},{"artifactId":"sdk-java-jersey-archetype","groupId":"com.att.ajsc","versions":["6.3.3.8","6.3.3.8.oss.3","6.3.3.8.oss.2","6.3.3.8.oss.1","6.3.3.8-oss"],"description":"AJSC Jersey archtype"},{"artifactId":"sdk-java-restlet-archetype","groupId":"com.att.ajsc","versions":["6.2.0.4","6.2.0.4-oss"],"description":"AJSC restlet archetype"},{"artifactId":"attivio-archetype-client","groupId":"com.attivio.platform.archetypes","versions":["0.1.1","0.1.0","5.5.0.5","5.5.0.4","5.5.0.3","5.5.0.2","5.5.0.1","5.5.0.0","5.2.6.6","5.2.6.5","5.2.6.4","5.2.6.3","5.2.6.2","5.2.6.1","5.2.6.0","4.4.2.0","4.4.0.3","4.4.0.2","4.4.0.1","4.4.0.0"],"description":"Attivio Client Maven Archetype"},{"artifactId":"attivio-archetype-module","groupId":"com.attivio.platform.archetypes","versions":["0.1.1","0.1.0","5.6.3.0","5.6.2.0","5.6.1.0","5.5.1.2","5.5.1.1","5.5.1.0","5.5.0.5","5.5.0.4","5.5.0.3","5.5.0.2","5.5.0.1","5.5.0.0","5.2.6.6","5.2.6.5","5.2.6.4","5.2.6.3","5.2.6.2","5.2.6.1","5.2.6.0","4.4.2.0","4.4.0.3","4.4.0.2","4.4.0.1","4.4.0.0"],"description":"Attivio eModule Maven Archetype"},{"artifactId":"vts-kit-ms-template","groupId":"com.atviettelsolutions","versions":["1.0.4","1.0.3","1.0.2","1.0.0"]},{"artifactId":"automacent-fwk-archetype","groupId":"com.automacent","versions":["1.4","1.3","1.2","1.1"],"description":"Automacent framework archetype for generating template project"},{"artifactId":"azure-sdk-archetype","groupId":"com.azure.tools","versions":["1.0.0"],"description":"Azure SDK archetype to generate a new Maven project with\n recommended Azure SDK tools and configuration."},{"artifactId":"bard-simple-archetype","groupId":"com.bardframework","versions":["0.3.0","0.2.0","0.1.1","0.1.0"],"description":"A web framework that is easy to use, easy to extend"},{"artifactId":"four-layers-webapp-archetype","groupId":"com.bellotapps.archetypes","versions":["1.0.1-RELEASE","1.0.0-RELEASE"],"description":"A Maven archetype for a multi-module project,\n which includes model, interfaces, persistence, service and webapp modules"},{"artifactId":"library-archetype","groupId":"com.bernardomg.maven.archetypes","versions":["1.2.17","1.2.16","1.2.15","1.2.14","1.2.13","1.2.12","1.2.11","1.2.10","1.2.9","1.2.8","1.2.7","1.2.6","1.2.5","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.2","1.1.1","1.1.0"],"description":"A Maven Archetype to ease the creation of new Java libraries."},{"artifactId":"spring-mvc-angular-archetype","groupId":"com.bernardomg.maven.archetypes","versions":["1.0.2","1.0.1","1.0.0"],"description":"A Maven Archetype for projects using Spring MVC, and Angular."},{"artifactId":"spring-mvc-react-archetype","groupId":"com.bernardomg.maven.archetypes","versions":["1.2.6","1.2.5","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.0","1.0.0"],"description":"A Maven Archetype for projects using Spring MVC, and React + Redux."},{"artifactId":"spring-mvc-thymeleaf-archetype","groupId":"com.bernardomg.maven.archetypes","versions":["1.3.0","1.2.5","1.2.3","1.2.2","1.2.1","1.2.0","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0"],"description":"A Maven Archetype for Spring MVC, and Thymeleaf, projects."},{"artifactId":"spring-web-service-maven-archetype","groupId":"com.bernardomg.maven.archetypes","versions":["1.1.2","1.1.1","1.1.0","1.0.1"],"description":"A Maven Archetype to ease the creation of Spring web services."},{"artifactId":"jakarta-ee-8-eclipse-microprofile-archetype","groupId":"com.bitofcode","versions":["1.0.1","1.0.0"],"description":"Jakarta EE 8 with Eclipse MicroProfile project quickstart template."},{"artifactId":"jakartaee-microprofile","groupId":"com.bitofcode.archetype","versions":["0.0.7","0.0.6","0.0.5","0.0.4","0.0.3","0.0.2","0.0.1"],"description":"Jakarta EE 8 with Eclipse MicroProfile 4.1 project."},{"artifactId":"blaze-persistence-archetype-core-sample","groupId":"com.blazebit","versions":["1.6.8","1.6.7","1.6.6","1.6.5","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.6.0-Alpha2","1.6.0-Alpha1","1.5.1","1.5.0","1.5.0-Alpha5","1.5.0-Alpha4","1.5.0-Alpha3","1.5.0-Alpha2","1.5.0-Alpha1","1.4.1","1.4.0","1.4.0-Alpha4","1.4.0-Alpha3","1.4.0-Alpha2","1.4.0-Alpha1","1.3.2","1.3.1","1.3.0","1.3.0-Alpha3","1.3.0-Alpha2","1.3.0-Alpha1","1.2.1","1.2.0","1.2.0-RC1","1.2.0-Alpha6","1.2.0-Alpha5","1.2.0-Alpha4","1.2.0-Alpha3","1.2.0-Alpha2"]},{"artifactId":"blaze-persistence-archetype-core-sample-jakarta","groupId":"com.blazebit","versions":["1.6.8","1.6.7"]},{"artifactId":"blaze-persistence-archetype-deltaspike-data-sample","groupId":"com.blazebit","versions":["1.6.8","1.6.7","1.6.6","1.6.5","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.6.0-Alpha2","1.6.0-Alpha1","1.5.1","1.5.0","1.5.0-Alpha5","1.5.0-Alpha4","1.5.0-Alpha3","1.5.0-Alpha2","1.5.0-Alpha1","1.4.1","1.4.0","1.4.0-Alpha4","1.4.0-Alpha3","1.4.0-Alpha2","1.4.0-Alpha1","1.3.2","1.3.1","1.3.0","1.3.0-Alpha3","1.3.0-Alpha2","1.3.0-Alpha1","1.2.1","1.2.0","1.2.0-RC1","1.2.0-Alpha6","1.2.0-Alpha5","1.2.0-Alpha4"]},{"artifactId":"blaze-persistence-archetype-entity-view-sample","groupId":"com.blazebit","versions":["1.6.8","1.6.7","1.6.6","1.6.5","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.6.0-Alpha2","1.6.0-Alpha1","1.5.1","1.5.0","1.5.0-Alpha5","1.5.0-Alpha4","1.5.0-Alpha3","1.5.0-Alpha2","1.5.0-Alpha1","1.4.1","1.4.0","1.4.0-Alpha4","1.4.0-Alpha3","1.4.0-Alpha2","1.4.0-Alpha1","1.3.2","1.3.1","1.3.0","1.3.0-Alpha3","1.3.0-Alpha2","1.3.0-Alpha1","1.2.1","1.2.0","1.2.0-RC1","1.2.0-Alpha6","1.2.0-Alpha5","1.2.0-Alpha4","1.2.0-Alpha3","1.2.0-Alpha2"]},{"artifactId":"blaze-persistence-archetype-entity-view-sample-jakarta","groupId":"com.blazebit","versions":["1.6.8","1.6.7"]},{"artifactId":"blaze-persistence-archetype-java-ee-sample","groupId":"com.blazebit","versions":["1.6.8","1.6.7","1.6.6","1.6.5","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.6.0-Alpha2","1.6.0-Alpha1","1.5.1","1.5.0","1.5.0-Alpha5","1.5.0-Alpha4","1.5.0-Alpha3","1.5.0-Alpha2","1.5.0-Alpha1","1.4.1","1.4.0","1.4.0-Alpha4","1.4.0-Alpha3","1.4.0-Alpha2","1.4.0-Alpha1","1.3.2","1.3.1","1.3.0","1.3.0-Alpha3","1.3.0-Alpha2","1.3.0-Alpha1","1.2.1","1.2.0","1.2.0-RC1","1.2.0-Alpha6","1.2.0-Alpha5","1.2.0-Alpha4"]},{"artifactId":"blaze-persistence-archetype-spring-boot-sample","groupId":"com.blazebit","versions":["1.6.8","1.6.7","1.6.6","1.6.5","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.6.0-Alpha2","1.6.0-Alpha1","1.5.1","1.5.0","1.5.0-Alpha5","1.5.0-Alpha4","1.5.0-Alpha3","1.5.0-Alpha2","1.5.0-Alpha1","1.4.1","1.4.0","1.4.0-Alpha4","1.4.0-Alpha3","1.4.0-Alpha2","1.4.0-Alpha1","1.3.2","1.3.1","1.3.0","1.3.0-Alpha3","1.3.0-Alpha2","1.3.0-Alpha1","1.2.1","1.2.0","1.2.0-RC1","1.2.0-Alpha6","1.2.0-Alpha5","1.2.0-Alpha4"]},{"artifactId":"blaze-persistence-archetype-spring-data-sample","groupId":"com.blazebit","versions":["1.6.8","1.6.7","1.6.6","1.6.5","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.6.0-Alpha2","1.6.0-Alpha1","1.5.1","1.5.0","1.5.0-Alpha5","1.5.0-Alpha4","1.5.0-Alpha3","1.5.0-Alpha2","1.5.0-Alpha1","1.4.1","1.4.0","1.4.0-Alpha4","1.4.0-Alpha3","1.4.0-Alpha2","1.4.0-Alpha1","1.3.2","1.3.1","1.3.0","1.3.0-Alpha3","1.3.0-Alpha2","1.3.0-Alpha1","1.2.1","1.2.0","1.2.0-RC1","1.2.0-Alpha6","1.2.0-Alpha5","1.2.0-Alpha4","1.2.0-Alpha3","1.2.0-Alpha2"]},{"artifactId":"tomee7-hibernate-archetype","groupId":"com.blurscope","versions":["0.0.1"],"description":"Simple Java EE 7 project template. Test environment is TomEE 7 with Hibernate"},{"artifactId":"action-pack-archetype","groupId":"com.broadcom","versions":["1.1.0","1.0.0","0.0.9","0.0.8","0.0.7","0.0.6","0.0.5","0.0.4","0.0.3","0.0.2","0.0.1"],"description":"This project template enables Action Pack development for Automic Automation (AA and CDA) in Java."},{"artifactId":"browserstack-cucumber-archetype","groupId":"com.browserstack","versions":["1.0"],"description":"BrowserStack Archetype for Cucumber TestNG"},{"artifactId":"browserstack-sdk-archetype-setup","groupId":"com.browserstack","versions":["1.0"],"description":"BrowserStack SDK Archetype for Getting Started"},{"artifactId":"cucumber-testng-archetype","groupId":"com.browserstack","versions":["1.0"],"description":"BrowserStack Archetype for Cucumber TestNG"},{"artifactId":"cucumber-testng-archetype-integrate","groupId":"com.browserstack","versions":["1.4","1.3","1.2","1.1"],"description":"BrowserStack Archetype for migrating tests of Cucumber + TestNG framework"},{"artifactId":"cucumber-testng-archetype-migrate","groupId":"com.browserstack","versions":["1.3","1.2","1.1","1.0"],"description":"BrowserStack Archetype for Migrating Cucumber CLI tests to TestNG"},{"artifactId":"cucumber-testng-archetype-setup","groupId":"com.browserstack","versions":["1.6","1.5","1.4","1.3","1.2","1.1"],"description":"BrowserStack Archetype for Setup of Cucumber + TestNG framework"},{"artifactId":"java-archetype-integrate","groupId":"com.browserstack","versions":["1.3","1.2","1.1","1.0"],"description":"BrowserStack Archetype for integrating tests for Java framework"},{"artifactId":"java-failsafe-archetype-integrate","groupId":"com.browserstack","versions":["1.1","1.0"],"description":"BrowserStack Archetype for integrating tests with maven-failsafe-plugin for Java frameworks"},{"artifactId":"java-framework-archetype-integrate","groupId":"com.browserstack","versions":["1.1","1.0"],"description":"BrowserStack Archetype for integrating tests for Java frameworks"},{"artifactId":"jbehave-archetype-setup","groupId":"com.browserstack","versions":["1.3","1.2","1.1","1.0"],"description":"BrowserStack JBehave Archetype for Getting Started"},{"artifactId":"junit4-archetype-setup","groupId":"com.browserstack","versions":["1.2","1.1","1.0"],"description":"BrowserStack Junit4 Archetype for Getting Started"},{"artifactId":"junit5-archetype-setup","groupId":"com.browserstack","versions":["1.2","1.1","1.0"],"description":"BrowserStack Junit5 Archetype for Getting Started"},{"artifactId":"selenide-archetype-setup","groupId":"com.browserstack","versions":["1.2","1.1","1.0"],"description":"BrowserStack Selenide Archetype for Getting Started"},{"artifactId":"serenity-archetype-setup","groupId":"com.browserstack","versions":["1.3","1.2","1.1","1.0"],"description":"BrowserStack Serenity Archetype for Getting Started"},{"artifactId":"testng-archetype-integrate","groupId":"com.browserstack","versions":["1.5","1.4","1.3","1.2","1.1","1.0"],"description":"BrowserStack TestNG Archetype for Integrating your Test Suite"},{"artifactId":"testng-archetype-setup","groupId":"com.browserstack","versions":["1.6","1.5","1.4","1.3","1.2","1.1"],"description":"BrowserStack TestNG Archetype for Getting Started"},{"artifactId":"com.bsb.common.vaadin.embed-simple-archetype","groupId":"com.bsb.common.vaadin","versions":["0.5","0.4"]},{"artifactId":"com.bsb.common.vaadin7.embed-simple-archetype","groupId":"com.bsb.common.vaadin","versions":["0.6","0.5","0.4"]},{"artifactId":"bugvm-java-template","groupId":"com.bugvm","versions":["1.1.5","1.1.4","1.1.0","1.0.9","1.0.8"]},{"artifactId":"bugvm-libgdx-template","groupId":"com.bugvm","versions":["1.0.9","1.0.8"]},{"artifactId":"bugvm-scala-template","groupId":"com.bugvm","versions":["1.1.5","1.1.4","1.1.0","1.0.9","1.0.8"]},{"artifactId":"jqassistant.archetype.project","groupId":"com.buschmais.jqassistant.archetype","versions":["1.0.1","1.0.0"],"description":"A project archetype including a basic jQAssistant setup."},{"artifactId":"spring-boot-java-cli","groupId":"com.bytesizebook","versions":["1.0.2","1.0.1","1.0"],"description":"An archetype to create command line application for Chapter 4 of Guide to Web Development with Java, 2nd edition."},{"artifactId":"spring-addons-archetypes-webflux-multimodule","groupId":"com.c4-soft.springaddons","versions":["6.0.1","6.0.0","5.3.2","5.3.1","5.3.0","5.2.2","5.2.0","5.1.5","5.1.4","5.1.3","5.1.1","5.1.0","5.0.0"],"description":"Create a multi-module maven project for a native ready Spring REST API with webflux, RDBC, OpenID security and OpenAPI"},{"artifactId":"spring-addons-archetypes-webflux-singlemodule","groupId":"com.c4-soft.springaddons","versions":["6.1.1","6.1.0","6.0.16","6.0.15","6.0.14","6.0.13","6.0.12","6.0.11","6.0.10","6.0.9","6.0.8","6.0.7","6.0.6","6.0.5","6.0.4","6.0.3","6.0.2","6.0.1","6.0.0","5.3.2","5.3.1","5.3.0","5.2.2","5.2.0","5.1.5","5.1.4","5.1.3","5.1.1","5.1.0","5.0.0"],"description":"Create a multi-module maven project for a native ready Spring REST API with webflux, RDBC, OpenID security and OpenAPI"},{"artifactId":"spring-addons-archetypes-webmvc-multimodule","groupId":"com.c4-soft.springaddons","versions":["6.1.1","6.1.0","6.0.16","6.0.15","6.0.14","6.0.13","6.0.12","6.0.11","6.0.10","6.0.9","6.0.8","6.0.7","6.0.6","6.0.5","6.0.4","6.0.3","6.0.2","6.0.1","6.0.0","5.3.2","5.3.1","5.3.0","5.2.2","5.2.0","5.1.5","5.1.4","5.1.3","5.1.1","5.1.0","5.0.0"],"description":"Create a multi-module maven project for a native ready Spring REST API with webmvc, JPA, OpenID security and OpenAPI"},{"artifactId":"spring-addons-archetypes-webmvc-singlemodule","groupId":"com.c4-soft.springaddons","versions":["6.1.1","6.1.0","6.0.16","6.0.15","6.0.14","6.0.13","6.0.12","6.0.11","6.0.10","6.0.9","6.0.8","6.0.7","6.0.6","6.0.5","6.0.4","6.0.3","6.0.2","6.0.1","6.0.0","5.3.2","5.3.1","5.3.0","5.2.2","5.2.0","5.1.5","5.1.4","5.1.3","5.1.1","5.1.0","5.0.0"],"description":"Create a single-module maven project for a native ready Spring REST API with webmvc, JPA, OpenID security and OpenAPI"},{"artifactId":"spring-webflux-archetype","groupId":"com.c4-soft.springaddons","versions":["4.1.9","4.1.8"],"description":"Create a multi-module maven project for a native ready Spring REST API with webflux, RDBC, OpenID security and OpenAPI"},{"artifactId":"spring-webflux-archetype-multimodule","groupId":"com.c4-soft.springaddons","versions":["4.5.1","4.5.0","4.4.9","4.4.8","4.4.7","4.4.6","4.4.5","4.4.4","4.4.3","4.4.2","4.4.1","4.4.0","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3.0","4.2.1","4.2.0","4.1.12","4.1.10"],"description":"Create a multi-module maven project for a native ready Spring REST API with webflux, RDBC, OpenID security and OpenAPI"},{"artifactId":"spring-webflux-archetype-singlemodule","groupId":"com.c4-soft.springaddons","versions":["4.5.1","4.5.0","4.4.9","4.4.8","4.4.7","4.4.6","4.4.5","4.4.4","4.4.3","4.4.2","4.4.1","4.4.0","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3.0","4.2.1","4.2.0","4.1.12","4.1.10"],"description":"Create a multi-module maven project for a native ready Spring REST API with webflux, RDBC, OpenID security and OpenAPI"},{"artifactId":"spring-webmvc-archetype","groupId":"com.c4-soft.springaddons","versions":["4.1.9","4.1.8","4.1.7","4.1.6","4.1.5","4.1.4","4.1.3","4.1.1","4.0.1","4.0.0","3.2.1","3.2.0","3.1.19-jdk17","3.1.19-jdk11","3.1.19-jdk1.8","3.1.18-jdk17","3.1.18-jdk11","3.1.18-jdk1.8","3.1.17-jdk17","3.1.17-jdk11","3.1.17-jdk1.8","3.1.16-jdk17","3.1.16-jdk11","3.1.16-jdk1.8"],"description":"Create a multi-module maven project for a native ready Spring REST API with webmvc, JPA, OpenID security and OpenAPI"},{"artifactId":"spring-webmvc-archetype-jdk11","groupId":"com.c4-soft.springaddons","versions":["3.2.0"],"description":"Create a multi-module maven project for a native ready Spring REST API with webmvc, JPA, OpenID security and OpenAPI"},{"artifactId":"spring-webmvc-archetype-multimodule","groupId":"com.c4-soft.springaddons","versions":["4.5.1","4.5.0","4.4.9","4.4.8","4.4.7","4.4.6","4.4.5","4.4.4","4.4.3","4.4.2","4.4.1","4.4.0","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3.0","4.2.1","4.2.0","4.1.12","4.1.10"],"description":"Create a multi-module maven project for a native ready Spring REST API with webmvc, JPA, OpenID security and OpenAPI"},{"artifactId":"spring-webmvc-archetype-singlemodule","groupId":"com.c4-soft.springaddons","versions":["4.5.1","4.5.0","4.4.9","4.4.8","4.4.7","4.4.6","4.4.5","4.4.4","4.4.3","4.4.2","4.4.1","4.4.0","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3.0","4.2.1","4.2.0","4.1.12","4.1.10"],"description":"Create a single-module maven project for a native ready Spring REST API with webmvc, JPA, OpenID security and OpenAPI"},{"artifactId":"kumuluz-archetype","groupId":"com.canoo.dolphin-platform","versions":["0.8.1","0.8.0","0.7.0"],"description":"This repository contains a Maven Archetype for a KumuluzEE based project of the Dolphin Platform."},{"artifactId":"spring-boot-archetype","groupId":"com.canoo.dolphin-platform","versions":["0.16.0","0.15.0","0.12.0","0.11.0","0.10.0","0.9.0","0.8.13","0.8.12","0.8.10","0.8.9","0.7.0","0.6.1","1.0.0.CR4"],"description":"This repository contains a Maven Archetype for a Spring Boot based project of the Dolphin Platform."},{"artifactId":"multi","groupId":"com.cedarsoft.open.archetype","versions":["1.0.2","1.0.1","1.0.0"]},{"artifactId":"simple","groupId":"com.cedarsoft.open.archetype","versions":["1.0.2","1.0.1","1.0.0"]},{"artifactId":"simple-service","groupId":"com.cerner.beadledom","versions":["4.1.2","4.1.1","4.1","4.0","3.7.1","3.7","3.6","3.5","3.4","3.3","3.2.5","3.2.4","3.2.3","3.1","3.0","2.9","2.8","2.7.2","2.7","2.6.1","2.6","2.5.1","2.5","2.4","2.3"]},{"artifactId":"cclunit-archetype","groupId":"com.cerner.ccl.archetype","versions":["1.7","1.6","1.5","1.4","1.3","1.2","1.1","1.0"],"description":"Archetype to set up an empty mavenized CCL project"},{"artifactId":"cclunit-maven-settings-check-archetype","groupId":"com.cerner.ccl.archetype","versions":["1.3","1.2","1.1","1.0"],"description":"Archetype to create a project for checking the maven setttings required for ccl-maven-plugin"},{"artifactId":"think-cloud-quickstart-archetype","groupId":"com.chinagoods.framework.thinkcloud.quickstart","versions":["3.1.7.RELEASE","3.1.5.RELEASE","3.1.2.RELEASE","3.1.0.RELEASE","3.0.2.RELEASE","3.0.1.RELEASE","2.0.1.RELEASE"],"description":"通用依赖-Parent"},{"artifactId":"aem-apps-ionic-maven-archetype","groupId":"com.citytechinc.aem.apps.ionic","versions":["0.3.0","0.1.0"],"description":"Archetype generating a multi module AEM project, initial content, and contentsync configuration appropriate for an AEM Apps project."},{"artifactId":"spring-data-basic","groupId":"com.cloudfoundry.tothought","versions":["1.0"],"description":"A basic setup for Spring Data + Hibernate + MySql"},{"artifactId":"cn1app-archetype","groupId":"com.codenameone","versions":["7.0.100","7.0.99","7.0.98","7.0.97","7.0.96","7.0.95","7.0.94","7.0.93","7.0.92","7.0.90","7.0.89","7.0.88","7.0.87","7.0.86","7.0.85","7.0.84","7.0.82","7.0.80","7.0.79","7.0.77","7.0.76","7.0.75","7.0.74","7.0.73","7.0.72","7.0.71","7.0.70","7.0.69","7.0.64","7.0.63","7.0.62","7.0.61","7.0.60","7.0.58","7.0.57","7.0.56","7.0.55","7.0.54","7.0.51","7.0.50","7.0.49","7.0.48","7.0.47","7.0.46","7.0.45","7.0.44","7.0.43","7.0.42","7.0.41","7.0.40","7.0.39","7.0.38","7.0.37","7.0.36","7.0.35","7.0.34","7.0.33","7.0.32","7.0.31","7.0.30","7.0.29","7.0.28","7.0.27","7.0.26","7.0.25","7.0.23","7.0.22","7.0.21","7.0.20","7.0.19","7.0.18","7.0.17","7.0.16","7.0.13","7.0.12","7.0.11","7.0.10","7.0.9","7.0.8-b7","7.0.8-b6","7.0.8-b5","7.0.8-b4","7.0.8-b4.1","7.0.8-b3","7.0.8-b2","7.0.7","v7.0.81"],"description":"Codename One Bare-bones App project archetype"},{"artifactId":"cn1lib-archetype","groupId":"com.codenameone","versions":["7.0.100","7.0.99","7.0.98","7.0.97","7.0.96","7.0.95","7.0.94","7.0.93","7.0.92","7.0.90","7.0.89","7.0.88","7.0.87","7.0.86","7.0.85","7.0.84","7.0.82","7.0.80","7.0.79","7.0.77","7.0.76","7.0.75","7.0.74","7.0.73","7.0.72","7.0.71","7.0.70","7.0.69","7.0.64","7.0.63","7.0.62","7.0.61","7.0.60","7.0.58","7.0.57","7.0.56","7.0.55","7.0.54","7.0.51","7.0.50","7.0.49","7.0.48","7.0.47","7.0.46","7.0.45","7.0.44","7.0.43","7.0.42","7.0.41","7.0.40","7.0.39","7.0.38","7.0.37","7.0.36","7.0.35","7.0.34","7.0.33","7.0.32","7.0.31","7.0.30","7.0.29","7.0.28","7.0.27","7.0.26","7.0.25","7.0.23","7.0.22","7.0.21","7.0.20","7.0.19","7.0.18","7.0.17","7.0.16","7.0.13","7.0.12","7.0.11","7.0.10","7.0.9","7.0.8-b7","7.0.8-b6","7.0.8-b5","7.0.8-b4","7.0.8-b4.1","7.0.8-b3","7.0.8-b2","7.0.7","v7.0.81"],"description":"Codename One cn1lib Archetype"},{"artifactId":"bobcat-archetype","groupId":"com.cognifide.qa.bb","versions":["1.0.1","1.0.0","0.9.2"],"description":"Basic Bobcat archetype."},{"artifactId":"bobcat-archetype-aem","groupId":"com.cognifide.qa.bb","versions":["1.0.2","1.0.1","1.0.0","0.9.2"],"description":"Basic Bobcat archetype"},{"artifactId":"bobcat-archetype-aem-bdd","groupId":"com.cognifide.qa.bb","versions":["1.0.1","1.0.0","0.9.2"],"description":"AEM BDD Bobcat archetype"},{"artifactId":"bobcat-archetype-bdd","groupId":"com.cognifide.qa.bb","versions":["1.0.1","1.0.0","0.9.2"],"description":"BDD Bobcat archetype"},{"artifactId":"bb-appium-hello-world-archetype","groupId":"com.cognifide.qa.bb.mobile","versions":["1.0.2","1.0.1","1.0.0"],"description":"Bobcat Appium archetype."},{"artifactId":"commercetools-hello-java-archetype","groupId":"com.commercetools.maven-archetypes","versions":["0.1.2","0.1.1","0.1.0"],"description":"Archetype for creating a Java application with commercetools"},{"artifactId":"commercetools-spring-mvc-quickstart","groupId":"com.commercetools.maven-archetypes","versions":["0.4.0"],"description":"Archetype for creating Spring MVC 4 web application with commercetools"},{"artifactId":"citrus-quickstart","groupId":"com.consol.citrus.archetypes","versions":["3.4.0","3.3.1","3.3.0","3.2.1","3.2.0","3.1.2","3.1.1","3.1.0","3.0.0","3.0.0-M3","3.0.0-M2","3.0.0-M1","2.8.0","2.7.9","2.7.8","2.7.7","2.7.6","2.7.5","2.7.4"],"description":"Citrus quickstart project"},{"artifactId":"citrus-quickstart-jms","groupId":"com.consol.citrus.archetypes","versions":["3.4.0","3.3.1","3.3.0","3.2.1","3.2.0","3.1.2","3.1.1","3.1.0","3.0.0","3.0.0-M3","3.0.0-M2","3.0.0-M1","2.8.0","2.7.9","2.7.8","2.7.7","2.7.6","2.7.5","2.7.4"],"description":"Citrus quickstart project with JMS consumer and producer"},{"artifactId":"citrus-quickstart-soap","groupId":"com.consol.citrus.archetypes","versions":["3.4.0","3.3.1","3.3.0","3.2.1","3.2.0","3.1.2","3.1.1","3.1.0","3.0.0","3.0.0-M3","3.0.0-M2","3.0.0-M1","2.8.0","2.7.9","2.7.8","2.7.7","2.7.6","2.7.5","2.7.4"],"description":"Citrus quickstart project with SOAP client and server"},{"artifactId":"citrus-simulator-archetype-jms","groupId":"com.consol.citrus.archetypes","versions":["1.1.0","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Archetype for Citrus JMS simulator"},{"artifactId":"citrus-simulator-archetype-mail","groupId":"com.consol.citrus.archetypes","versions":["1.1.0","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Archetype for Citrus mail simulator"},{"artifactId":"citrus-simulator-archetype-rest","groupId":"com.consol.citrus.archetypes","versions":["1.1.0","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Archetype for Citrus REST simulator"},{"artifactId":"citrus-simulator-archetype-swagger","groupId":"com.consol.citrus.archetypes","versions":["1.1.0","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Archetype for Citrus Swagger auto generated REST simulator"},{"artifactId":"citrus-simulator-archetype-ws","groupId":"com.consol.citrus.archetypes","versions":["1.1.0","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Archetype for Citrus SOAP simulator"},{"artifactId":"citrus-simulator-archetype-wsdl","groupId":"com.consol.citrus.archetypes","versions":["1.1.0","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Archetype for Citrus WSDL auto generated SOAP simulator"},{"artifactId":"citrus-quickstart","groupId":"com.consol.citrus.mvn","versions":["2.7.3","2.7.2","2.7.1","2.7","2.6.2","2.6.1","2.6","2.5.2","2.5.1","2.5","2.4","2.3","2.2"],"description":"Citrus quickstart project"},{"artifactId":"citrus-quickstart-jms","groupId":"com.consol.citrus.mvn","versions":["2.7.3","2.7.2","2.7.1","2.7","2.6.2","2.6.1","2.6","2.5.2","2.5.1","2.5","2.4","2.3","2.2"],"description":"Citrus quickstart project with JMS consumer and producer"},{"artifactId":"citrus-quickstart-soap","groupId":"com.consol.citrus.mvn","versions":["2.7.3","2.7.2","2.7.1","2.7","2.6.2","2.6.1","2.6","2.5.2","2.5.1","2.5","2.4","2.3","2.2"],"description":"Citrus quickstart project with SOAP client and server"},{"artifactId":"app-archetype","groupId":"com.controlsjs.controls4j","versions":["1.2.1","1.2","1.1.1","1.1","1.0"],"description":"Use Controls.js together with Java. Deploy to desktop,\n Android, iOS, HTML5 browser."},{"artifactId":"plume-archetype-hibernate-jersey-guice","groupId":"com.coreoz","versions":["1.1.0","1.0.1","1.0.0","1.0.0-rc4","1.0.0-rc3","1.0.0-rc2","1.0.0-rc1","1.0.0-beta1"],"description":"Bootstrap a project with Hibernate, Jersey and Guice"},{"artifactId":"plume-archetype-querydsl-jersey-guice","groupId":"com.coreoz","versions":["4.1.1","4.1.0","4.0.3","4.0.2","4.0.1","4.0.0","3.0.0","2.1.4","2.1.3","2.1.2","2.1.1","2.0.1","2.0.0","2.0.0-RC1","1.1.0","1.0.1","1.0.0","1.0.0-rc4","1.0.0-rc3","1.0.0-rc2","1.0.0-rc1","1.0.0-beta1"],"description":"Bootstrap a project with Querydsl, jersey and Guice"},{"artifactId":"plume-archetype-querydsl-jersey-guice-grizzly","groupId":"com.coreoz","versions":["4.1.1","4.1.0","4.0.3","4.0.2","4.0.1","4.0.0","3.0.0","2.1.4","2.1.3","2.1.2","2.1.1","2.0.1","2.0.0","2.0.0-RC1","1.1.0","1.0.1","1.0.0","1.0.0-rc4","1.0.0-rc3","1.0.0-rc2","1.0.0-rc1"],"description":"Bootstrap a project with Querydsl, Jersey, Guice and Grizzly embedded server"},{"artifactId":"crawljax-plugins-archetype","groupId":"com.crawljax.plugins.archetypes","versions":["3.6","3.5.1","3.5","3.4","3.3","3.2","3.1","3.0","1.2","1.1","1.0"],"description":"Generates a Crawljax project template."},{"artifactId":"cuubez-archetype","groupId":"com.cuubez","versions":["1.1.0"],"description":"Cuubez quickstart archetype."},{"artifactId":"cyc-model-archetype-project","groupId":"com.cyc.model.maven","versions":["1.0.0-rc6"],"description":"Maven archetype for creating Cyc Model Generator-based projects."},{"artifactId":"multimodule-content-package-archetype","groupId":"com.day.jcr.vault","versions":["1.0.2","1.0.1","1.0.0"],"description":"Maven archetype for a creating a Content Package and OSGi Bundle in a single multi-module project."},{"artifactId":"simple-content-package-archetype","groupId":"com.day.jcr.vault","versions":["1.0.2","1.0.1","1.0.0"],"description":"Maven archetype for a creating a simple Content Package."},{"artifactId":"simple-content-package-with-embedded-archetype","groupId":"com.day.jcr.vault","versions":["1.0.2","1.0.1","1.0.0"],"description":"Maven archetype for a creating a simple Content Package with an embedded bundle."},{"artifactId":"gm-fabric-archetype","groupId":"com.deciphernow","versions":["0.2.9","0.2.8","0.2.7","0.2.6","0.2.5","0.2.4","0.2.3","0.2.2","0.2.1","0.2.0","0.1.4","0.1.3","0.1.2"]},{"artifactId":"tf-s3-archetype","groupId":"com.deliveredtechnologies","versions":["0.13-593","0.13-589","0.13-586","0.13-583","0.13-582","0.13-574","0.13-573","0.13-542","0.13-539","0.13-538","0.13-536","0.13-32","0.13-31","0.13-30","0.13-29","0.13-28","0.13-27","0.13-26","0.13-25","0.13-24","0.13-23","0.13-22","0.13-21","0.13-20","0.13-19","0.13-18","0.13-17","0.13","0.12-21","0.12-11","0.12-9","0.12-8","0.12","0.11.1","0.11","0.10.1","0.10","0.9.1","0.9","0.8.2","0.8.1","0.8","0.7.3","0.7.2","0.7.1","0.7","0.6","0.5.4","0.5.3","0.5.2","0.5.1"],"description":"Terraform Maven S3 Project Archetype"},{"artifactId":"application","groupId":"com.devdungeon.maven.archetypes","versions":["0.2.0","0.1.0"],"description":"Maven project archetype for DevDungeon applications"},{"artifactId":"library","groupId":"com.devdungeon.maven.archetypes","versions":["1.0.5","1.0.4","1.0.3"],"description":"A Maven project archetype for DevDungeon class libraries"},{"artifactId":"devon4j-template-server","groupId":"com.devonfw.java.templates","versions":["3.2.1","3.2.0","3.1.1","3.1.0","3.0.2","3.0.1","3.0.0","3.0.0-alpha.1","2023.01.001","2022.12.001","2022.04.001","2021.04.003","2021.04.002","2021.04.001","2020.12.002","2020.12.001","2020.08.001","2020.04.002","2020.04.001"],"description":"Application template for a server app based on devon4j."},{"artifactId":"microservices-archetype","groupId":"com.devonfw.microservices","versions":["3.1.0","3.0.0","2.4.0"],"description":"Archetype for foo microservice project of Devonfw"},{"artifactId":"microservices-infra-archetype","groupId":"com.devonfw.microservices","versions":["3.1.0","3.0.0","2.4.0"],"description":"Archetype for Devonfw infrastructure microservices project."},{"artifactId":"storm-crawler-archetype","groupId":"com.digitalpebble.stormcrawler","versions":["2.7","2.6","2.5","2.4","2.3","2.2","2.1","2.0","1.18","1.17","1.16","1.15","1.14","1.13","1.12.1","1.12","1.11","1.10","1.9","1.8","1.7","1.6","1.5.1","1.5","1.4","1.3","1.2","1.1.1","1.1","1.0","0.10","0.9","0.8"]},{"artifactId":"storm-crawler-elasticsearch-archetype","groupId":"com.digitalpebble.stormcrawler","versions":["2.7","2.6","2.5","2.4","2.3","2.2","2.1","2.0","1.18","1.17","1.16"]},{"artifactId":"storm-crawler-opensearch-archetype","groupId":"com.digitalpebble.stormcrawler","versions":["2.7"]},{"artifactId":"flowman-archetype-quickstart","groupId":"com.dimajix.flowman","versions":["0.30.0","0.30.0-oss-spark3.3-hadoop3.3","0.30.0-oss-spark3.3-hadoop2.7","0.30.0-oss-spark3.2-hadoop3.3","0.30.0-oss-spark3.2-hadoop2.7","0.30.0-oss-spark3.1-hadoop3.2","0.30.0-oss-spark3.1-hadoop2.7","0.30.0-oss-spark3.0-hadoop3.2","0.30.0-oss-spark3.0-hadoop2.7","0.30.0-oss-spark2.4-hadoop2.7","0.30.0-oss-spark2.4-hadoop2.6","0.30.0-emr6.9-spark3.3-hadoop3.3","0.30.0-cdp7-spark3.2-hadoop3.1","0.30.0-cdp7-spark2.4-hadoop3.1","0.30.0-cdh6-spark2.4-hadoop3.0","0.29.0","0.29.0-oss-spark3.3-hadoop3.3","0.29.0-oss-spark3.3-hadoop2.7","0.29.0-oss-spark3.2-hadoop3.3","0.29.0-oss-spark3.2-hadoop2.7","0.29.0-oss-spark3.1-hadoop3.2","0.29.0-oss-spark3.1-hadoop2.7","0.29.0-oss-spark3.0-hadoop3.2","0.29.0-oss-spark3.0-hadoop2.7","0.29.0-oss-spark2.4-hadoop2.7","0.29.0-oss-spark2.4-hadoop2.6","0.29.0-emr6.8-spark3.3-hadoop3.2","0.29.0-cdp7-spark2.4-hadoop3.1","0.29.0-cdh6-spark2.4-hadoop3.0","0.28.0","0.28.0-oss-spark3.3-hadoop3.3","0.28.0-oss-spark3.3-hadoop2.7","0.28.0-oss-spark3.2-hadoop3.3","0.28.0-oss-spark3.2-hadoop2.7","0.28.0-oss-spark3.1-hadoop3.2","0.28.0-oss-spark3.1-hadoop2.7","0.28.0-oss-spark3.0-hadoop3.2","0.28.0-oss-spark3.0-hadoop2.7","0.28.0-oss-spark2.4-hadoop2.7","0.28.0-oss-spark2.4-hadoop2.6","0.28.0-cdp7-spark2.4-hadoop3.1","0.28.0-cdh6-spark2.4-hadoop3.0"],"description":"Maven archetype for a Flowman quickstart project"},{"artifactId":"diozero-application","groupId":"com.diozero","versions":["1.3.5","1.3.4","1.3.3","1.3.2","1.3.1","1.3.0","1.2.3","1.2.2","1.2.1","1.2.0","1.1.9","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.1","1.0.0"],"description":"diozero Quickstart Archetype"},{"artifactId":"ggitflow-maven-archetype","groupId":"com.dkirrane.maven.archetype","versions":["3.0","2.3","2.2","2.1","2.0","1.9","1.8","1.7","1.4","1.3","1.2"]},{"artifactId":"create-project","groupId":"com.dncomponents.core","versions":["2.4.2","2.4.1","2.4.0","2.3.3","2.3.2","2.3.1","2.3.0","1.2.0"]},{"artifactId":"create-project-material","groupId":"com.dncomponents.core","versions":["2.4.2","2.4.1","2.4.0","2.3.3","2.3.2","2.3.1","2.3.0"]},{"artifactId":"java17-basic-archetype","groupId":"com.dominikcebula.archetypes","versions":["1.1","1.0"],"description":"A Java 17 Basic Archetype that can be used to generate Java 17 project."},{"artifactId":"java17-cli-pico-archetype","groupId":"com.dominikcebula.archetypes","versions":["1.0"],"description":"A Java 17 CLI Archetype that can be used to generate CLI Java 17 project that uses picocli for command\n line parsing."},{"artifactId":"java17-spring-boot3-cli-archetype","groupId":"com.dominikcebula.archetypes","versions":["1.1","1.0"],"description":"Skeleton for Java 17 Spring Boot 3 CLI project."},{"artifactId":"java17-spring-boot3-rest-api-archetype","groupId":"com.dominikcebula.archetypes","versions":["1.0"],"description":"Skeleton for Java 17 Spring Boot 3 REST API project."},{"artifactId":"simple-webapp-archetype","groupId":"com.dragome","versions":["1.0"],"description":"Dragome SDK simple webapp archetype"},{"artifactId":"form-archetype","groupId":"com.dtsc.bpm","versions":["1.0.0"],"description":"Archetype for BPM form project"},{"artifactId":"crud4j-archetype","groupId":"com.dukescript.archetype","versions":["0.33","0.32","0.31","0.30","0.29","0.28","0.27","0.26","0.25","0.24","0.23","0.22","0.21","0.20","0.18","0.17","0.16","0.15","0.14","0.13","0.12","0.11","0.10","0.9","0.8","0.7"],"description":"HTML page with master/detail showing results obtains\n for a Jersey server. Everything written in Java. \n Use your favorite language to code. Run the same code \n on server as well as client. Use\n HTML as a lightweight rendering toolkit. Deploy to desktop,\n Android, iOS, HTML5 browser."},{"artifactId":"knockout4j-archetype","groupId":"com.dukescript.archetype","versions":["0.33","0.32","0.31","0.30","0.29","0.28","0.27","0.26","0.25","0.24","0.23","0.22","0.21","0.20","0.18","0.17","0.16","0.15","0.14","0.13","0.12","0.11","0.10","0.9","0.8","0.7"],"description":"HTML page with Knockout.js bindings driven by application model\n written in Java. Use your favorite language to code. Use\n HTML as a lightweight rendering toolkit. Deploy to desktop,\n Android, iOS, HTML5 browser."},{"artifactId":"visual-archetype","groupId":"com.dukescript.archetype","versions":["0.33","0.32","0.31","0.30","0.29","0.28","0.27","0.26","0.25","0.24","0.23","0.22","0.21","0.20","0.18","0.17","0.16","0.15"],"description":"HTML page with various visual technologies driven by code\n written in Java. Control canvas, charts or maps and deploy\n to iOS, Android, desktop and any browser."},{"artifactId":"basic-gwt-webapp","groupId":"com.dyuproject.protostuff.archetype","versions":["1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"webapp archetype using protostuff, json and gwt"},{"artifactId":"basic-webapp","groupId":"com.dyuproject.protostuff.archetype","versions":["1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"webapp archetype using protostuff, json and jquery"},{"artifactId":"simple-gwt-webapp","groupId":"com.dyuproject.protostuff.archetype","versions":["1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"webapp archetype using protobuf, json and gwt"},{"artifactId":"simple-webapp","groupId":"com.dyuproject.protostuff.archetype","versions":["1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"webapp archetype using protobuf, json and jquery"},{"artifactId":"simpleapp","groupId":"com.ebay.jetstream.archetype","versions":["4.1.0","4.0.2","4.0.1"],"description":"Distributed Stream Processing Framework"},{"artifactId":"tabris-application","groupId":"com.eclipsesource.tabris","versions":["1.4.5","1.4.4","1.4.3","1.4.2","1.4.1","1.4","1.3","1.2.1","1.2","1.1"],"description":"Archetype to create a Tabris based Application"},{"artifactId":"eosgi-module-archetype","groupId":"com.effectiveosgi","versions":["0.0.5","0.0.4","0.0.3","0.0.2","0.0.1"]},{"artifactId":"eosgi-project-archetype","groupId":"com.effectiveosgi","versions":["0.0.5","0.0.4","0.0.3","0.0.2","0.0.1"]},{"artifactId":"eosgi-test-module-archetype","groupId":"com.effectiveosgi","versions":["0.0.5","0.0.4","0.0.3","0.0.2","0.0.1"]},{"artifactId":"drummer","groupId":"com.elephantdrummer","versions":["1.2.5","1.2.3","1.2.2","1.2.1","1.2"],"description":"Elephant Drummer Java Job Scheduler"},{"artifactId":"xtend-ioc-archetype","groupId":"com.erinors","versions":["0.5.3","0.5.2"]},{"artifactId":"qlack2-wdapps-archetypes-barebones","groupId":"com.eurodyn.qlack2.webdesktop.apps","versions":["2.3.18","2.3.17","2.3.16","2.3.15","2.3.14","2.3.13","2.3.12","2.3.11","2.3.10","2.3.9","2.3.8","2.3.7","2.3.6","2.3.5","2.3.4","2.3.3","2.3.2","2.3.1","2.2.4","2.2.3","2.2.2","2.2.1"]},{"artifactId":"exadatum-travis-sonatype-archetype","groupId":"com.exadatum.xsuite.xmaven","versions":["1.0.4","1.0.3","1.0.2"],"description":"An archetype to generate exadatum open source module to be deployed to maven central via travis CI and sonatype"},{"artifactId":"exonum-java-binding-service-archetype","groupId":"com.exonum.binding","versions":["0.10.0","0.9.0-rc2","0.9.0-rc1","0.8.0","0.7.0","0.6.0","0.5.0","0.4.0","0.3","0.2","0.1.2","0.1.1","0.1.0"],"description":"Archetype for creating Exonum Service application."},{"artifactId":"codeg-archetype","groupId":"com.fastjrun.archetype","versions":["1.5","1.4","1.3"],"description":"快嘉框架archetype系列-接口代码生成"},{"artifactId":"mbg-archetype","groupId":"com.fastjrun.archetype","versions":["1.5","1.4","1.3","1.2","1.1","1.0"],"description":"快嘉框架archetype系列-基于h2生成mybatis代码"},{"artifactId":"mbg4-archetype","groupId":"com.fastjrun.archetype","versions":["1.5"],"description":"快嘉框架archetype系列-基于h2生成MyBatis Dynamic SQL代码"},{"artifactId":"sdkg-archetype","groupId":"com.fastjrun.archetype","versions":["1.5","1.4"],"description":"快嘉框架archetype系列-自定义接口代码生成器"},{"artifactId":"quickstart-archetype","groupId":"com.fastjrun.share","versions":["1.0.1","1.0"],"description":"快嘉框架脚手架"},{"artifactId":"openml-provider-archetype","groupId":"com.feedzai","versions":["1.2.0","1.1.0","1.0.3","1.0.2","1.0.1","1.0.0","0.4.3","0.4.2","0.4.1","0.4.0"],"description":"Maven archetype to generate a new OpenML provider."},{"artifactId":"teavm-maven-webapp","groupId":"com.fermyon","versions":["0.2.8","0.2.7","0.2.6","0.2.5","0.2.4","0.2.3","0.2.2","0.2.1","0.2.0","0.1.0"],"description":"An archetype that creates a simple web application with enabled TeaVM"},{"artifactId":"archetype-junit-spring-integrationtest","groupId":"com.fitbur.testify.archetype","versions":["0.1.3"],"description":"Creates a new quickstart project to integration test Spring modules with Testify, JUnit, Mockito, and AssertJ."},{"artifactId":"archetype-junit-spring-systemtest","groupId":"com.fitbur.testify.archetype","versions":["0.1.3"],"description":"Creates a new quickstart project to system test Spring MVC application with Testify, JUnit, Mockito, and AssertJ."},{"artifactId":"archetype-junit-springboot-systemtest","groupId":"com.fitbur.testify.archetype","versions":["0.1.3"],"description":"Creates a new quickstart project to system test Spring Boot application with Testify, JUnit, Mockito, and AssertJ."},{"artifactId":"archetype-junit-unittest","groupId":"com.fitbur.testify.archetype","versions":["0.1.3"],"description":"Creates a new quickstart project to unit test Java code with Testify, JUnit, Mockito, and AssertJ."},{"artifactId":"fm-middleware-framework","groupId":"com.fmarslan","versions":["1.0.0"],"description":"Middleware Framework"},{"artifactId":"springmvc-archetype","groupId":"com.force.sdk","versions":["22.0.7-BETA","22.0.2-BETA"],"description":"Spring MVC Project with Database.com Support"},{"artifactId":"moria-spring-cloud-archetype","groupId":"com.foreveross","versions":["2.1.13-RELEASES","1.2.9-RELEASES","1.2.7-RELEASES","1.2.5-RELEASES","1.2.4-RELEASES","1.2.1-RELEASES","1.2.0-RELEASES","1.1.0-RELEASES","1.0.0-RELEASES"],"description":"a maven archetype for moria spring cloud service"},{"artifactId":"slimboot-archetype","groupId":"com.fortytwobinary","versions":["0.1.1","0.1.0"],"description":"This archetype creates a lightweight Spring Boot API"},{"artifactId":"sauron-plugin-archetype","groupId":"com.free-now.sauron","versions":["0.0.12","0.0.11","0.0.10","0.0.9","0.0.8"],"description":"Sauron Plugin Archetype"},{"artifactId":"freedomotic-device-maven-archetype","groupId":"com.freedomotic","versions":["1.0"]},{"artifactId":"plugin-archetypes","groupId":"com.funnelback","versions":["16.16.0","16.14.0","16.10.0","16.8.3","16.8.2","16.8.0","16.7.2142","16.7.2141","16.7.2139","16.6.0","16.5.2135","16.5.2134","16.4.0","16.2.0","16.1.2048","16.1.2039","16.1.2036","16.1.2034","16.1.2032","15.25.2023","15.25.2022","15.25.2020","15.25.2015","0.0.4","0.0.3","0.0.2","0.0.1","16.7.2141.1","15.25.2016.1","15.25.2015.1"],"description":"Archetype for a plugin for the Funnelback Enterprise Search Engine"},{"artifactId":"SenBotArchetype","groupId":"com.gfk.senbot","versions":["0.2"],"description":"Archetype to create new project exposing the SenBot (junit/cucumber/selenium acceptance test executor) to your test environment."},{"artifactId":"SenBotDemo-archetype","groupId":"com.gfk.senbot","versions":["0.4.8","0.4.7","0.4.6","0.4.5","0.4.4","0.4.3","0.4.2","0.4.1","0.4","0.3"],"description":"A SenBot Demo project with the purpose to demonstrate all available SenBot features."},{"artifactId":"fathom-archetype-standard","groupId":"com.gitblit.fathom","versions":["1.0.1","0.9.2","0.9.1","0.9.0","0.8.4","0.8.3","0.8.2","0.8.1","0.8.0","0.7.0","0.6.1","0.6.0","0.5.4","0.5.3","0.5.2","0.5.1","0.5.0"]},{"artifactId":"maven-java-web-demo-archetype","groupId":"com.gitee.dgut-sai","versions":["1.2.2"],"description":"Maven Demo project for the Java EE course"},{"artifactId":"quickstart-archetype","groupId":"com.gitee.kinbug","versions":["2.2.4","2.2","1.0"],"description":"According to the database, three layers of code are generated automatically."},{"artifactId":"cpj-common","groupId":"com.github.3cpj","versions":["1.5.1","1.5.0"],"description":"臭皮匠通用工具集"},{"artifactId":"kotlin-simple-archetype","groupId":"com.github.K0zka","versions":["1.0.0","1.0.0-beta-1103.1","0.8.11.1","0.7.271.1"]},{"artifactId":"web-ejb","groupId":"com.github.Lozitsky","versions":["1.0.2","1.0.2.2","1.0.2.1"],"description":"Deployment to the Central Repository via OSSRH"},{"artifactId":"admin-starter-archetype","groupId":"com.github.adminfaces","versions":["1.0.1","1.0.0","1.0.0-RC21","1.0.0-RC20","1.0.0-RC19","1.0.0-RC18","1.0.0-RC15"],"description":"Maven archetype for AdminFaces Starter application."},{"artifactId":"admin-starter-persistence-archetype","groupId":"com.github.adminfaces","versions":["1.0.1","1.0.0","1.0.0-RC21","1.0.0.2","1.0.0.1"],"description":"Maven archetype for AdminFaces Starter application."},{"artifactId":"admin-starter-springboot-archetype","groupId":"com.github.adminfaces","versions":["1.0.1","1.0.0","1.0.0-RC21","1.0.0-RC20","1.0.0-RC20.1","1.0.0-RC19"],"description":"Maven archetype for AdminFaces Starter SpringBoot application."},{"artifactId":"admin-starter-tomcat-archetype","groupId":"com.github.adminfaces","versions":["1.1.0","1.0.1","1.0.0","1.0.0-RC21","1.0.0-RC20","1.0.0-RC19"],"description":"Maven archetype for AdminFaces Starter Tomcat application."},{"artifactId":"simple-java-project-with-spring-context-archetype","groupId":"com.github.akiraly.reusable-poms","versions":["4","3","2"]},{"artifactId":"simple-java-project-with-spring-hibernate-querydsl-archetype","groupId":"com.github.akiraly.reusable-poms","versions":["4","3"]},{"artifactId":"simple-java-project-with-util-libs-archetype","groupId":"com.github.akiraly.reusable-poms","versions":["4","3","2","1"]},{"artifactId":"tdp-javafx-archetype","groupId":"com.github.alberto-mr","versions":["2.0.4","2.0.3","2.0.2","2.0.0"],"description":"Maven archetype to create JavaFX applications with Java 11"},{"artifactId":"samplegwt-archetype","groupId":"com.github.apetrelli.samplegwt","versions":["1.0.0-alpha4","1.0.0-alpha1"],"description":"A complete but simple archetype that connects GWT to several technologies: JPA 2, Hibernate, Spring Core, Spring Security, Spring Transactions."},{"artifactId":"angularBeans-helloWorld-archetype","groupId":"com.github.bessemHmidi","versions":["1.4-RELEASE","1.3-RELEASE","1.2-RELEASE","1.0-RELEASE"],"description":"This is a simple Hello World Built with AngularBeans Framework and JavaEE7"},{"artifactId":"maven-archetypes-webapp","groupId":"com.github.bjlhx15","versions":["0.0.2","0.0.1"],"description":"pdf 生成"},{"artifactId":"maven-archetypes-webapp-cache","groupId":"com.github.bjlhx15","versions":["0.0.2","0.0.1"],"description":"pdf 生成"},{"artifactId":"musicbot-provider","groupId":"com.github.bjoernpetersen","versions":["0.10.1","0.10.0","0.8.0"],"description":"Archetype for JMusicBot provider plugins"},{"artifactId":"reactmann-java-archetype","groupId":"com.github.blakepettersson","versions":["0.5-preview","0.4-preview","0.3-preview","0.2-preview","0.1.1-preview","0.1-preview"],"description":"A default archetype to create Reactmann verticles with."},{"artifactId":"eclipse-tycho-archetype","groupId":"com.github.bmaggi","versions":["1.0.2","1.0.0","0.1.6","0.1.5","0.1.4","0.1.3"],"description":"An archetype to generate eclipse tycho project"},{"artifactId":"wcomponents-app-archetype","groupId":"com.github.bordertech.wcomponents","versions":["1.5.14","1.5.13","1.5.12","1.5.11","1.5.10","1.5.9","1.5.8","1.5.7","1.5.6","1.5.5","1.5.4","1.5.3","1.5.2","1.5.1","1.5.0","1.4.26","1.4.25","1.4.24","1.4.23","1.4.22","1.4.21","1.4.20","1.4.19","1.4.18","1.4.17","1.4.16","1.4.15","1.4.14","1.4.13","1.4.12","1.4.11","1.4.10","1.4.9","1.4.8","1.4.7","1.4.6","1.4.5","1.4.4","1.4.3","1.4.2","1.4.1","1.4.0","1.4.0-beta","1.4.0-beta-2","1.3.14","1.3.13","1.3.12","1.3.11","1.3.10","1.3.9","1.3.8","1.3.7","1.3.6","1.3.5","1.3.4","1.3.3","1.3.2","1.3.1","1.3.0","1.2.15","1.2.14","1.2.13","1.2.12","1.2.11","1.2.10","1.2.9","1.2.8","1.2.7","1.2.6","1.2.5","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.10","1.1.9","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1"]},{"artifactId":"worker-document-archetype","groupId":"com.github.cafdataprocessing","versions":["4.5.0-820","4.4.0-707","4.3.0-593","4.2.0-461","4.1.0-292","4.0.0-200","3.3.0-126","3.2.0-100","3.1.1-71","3.1.0-68","3.0.0-53","2.2.0-41","2.1.0-15","2.0.0-5"]},{"artifactId":"lifecycle-maven-plugin-archetype","groupId":"com.github.carlosvin.archetype","versions":["0.0.6","0.0.5"],"description":"Archetype for an example of custom Maven plugin overriding default lifecycle"},{"artifactId":"casmi-quickstart","groupId":"com.github.casmi.archetypes","versions":["0.4.0","0.3.2"],"description":"Quickstart archetype for casmi project"},{"artifactId":"docs-city-archetype-quickstart","groupId":"com.github.charlie-cityu.archetypes","versions":["1.0"],"description":"A variation on the maven-archetype-quickstart with source set to 1.8,\n\t\tbuild to executable jar with dependencies and junit 4.12. File names have been changed\n\t\tto Main.java and MainTest.java. Directory structure remains consistent with the Maven\n\t\tstandard."},{"artifactId":"srb4j","groupId":"com.github.chenjianjx","versions":["3.0.0","2.0.0"],"description":"The archetype to generate code simple restful backend in Java"},{"artifactId":"choonchernlim-archetype-jar","groupId":"com.github.choonchernlim","versions":["2.0.0","0.1.0"],"description":"Groovy-based JAR archetype with Spring Boot and CI integration"},{"artifactId":"choonchernlim-archetype-webapp","groupId":"com.github.choonchernlim","versions":["2.0.0","1.0.1","1.0.0","0.4.0","0.3.0","0.2.0","0.1.1","0.1.0"],"description":"Groovy-based Maven WAR archetype using Spring Boot with the capability of generating static code\n analysis reports for Continuous Integration servers."},{"artifactId":"logiaslisp","groupId":"com.github.dakusui","versions":["1.0"],"description":"A JSON based Lisp processor."},{"artifactId":"symfonion","groupId":"com.github.dakusui","versions":["0.8.0"],"description":"A JSON based music macro language processor."},{"artifactId":"xuml-model-archetype","groupId":"com.github.davidmoten","versions":["0.6","0.5","0.4.3","0.4.2","0.4.1","0.3.1","0.3","0.2.1"]},{"artifactId":"optimus-archetype-dubbo","groupId":"com.github.deepexi","versions":["1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"archetype for the microService of dubbo"},{"artifactId":"optimus-archetype-hsf","groupId":"com.github.deepexi","versions":["1.3.19","1.3.17","1.3.16","1.3.15","1.3.14","1.3.13","1.3.12","1.3.11","1.3.10","1.3.9","1.3.8","1.3.7","1.3.6","1.3.5","1.3.4","1.3.3","1.3.2","1.3.1","1.3.0"],"description":"archetype for the microService of hsf"},{"artifactId":"optimus-archetype-hsf-jpa","groupId":"com.github.deepexi","versions":["1.2.1"],"description":"archetype for the microService of hsf"},{"artifactId":"optimus-archetype-java","groupId":"com.github.deepexi","versions":["1.1.1"],"description":"a maven archetype for the microService of java"},{"artifactId":"optimus-archetype-springcloud","groupId":"com.github.deepexi","versions":["2.0.2","2.0.1","1.0.18","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"archetype for the microService of springcloud"},{"artifactId":"spaas-template-module","groupId":"com.github.deepexi","versions":["1.0.0"],"description":"spaas-template-module"},{"artifactId":"spaas-template-module-api","groupId":"com.github.deepexi","versions":["1.0.0"],"description":"spaas-template-module-api"},{"artifactId":"spaas-template-project","groupId":"com.github.deepexi","versions":["1.0.2","1.0.1","1.0.0"],"description":"spaas-template-project"},{"artifactId":"android-apk-project","groupId":"com.github.destinyd.android.archetypes","versions":["0.3.0"],"description":"Creates a skeleton for a complete Android Apk"},{"artifactId":"android-library-project","groupId":"com.github.destinyd.android.archetypes","versions":["0.3.0","0.2.1","0.2.0","0.1.1","0.0.1"],"description":"Creates a skeleton for a complete Android library (including application with instrumentation tests and ready-to-publish application on releases)"},{"artifactId":"android-quickstart","groupId":"com.github.destinyd.android.archetypes","versions":["0.3.0"],"description":"Creates a skeleton for a complete Android Apk"},{"artifactId":"optimus-archetype-hsf","groupId":"com.github.donhac","versions":["1.1.1","1.1.0"],"description":"archetype for the microService of hsf"},{"artifactId":"optimus-archetype-java","groupId":"com.github.donhac","versions":["1.1.0"],"description":"a maven archetype for the microService of java"},{"artifactId":"stonehenge-archetype-hsf","groupId":"com.github.donhac","versions":["1.0.3","1.0.1","1.0.0"],"description":"archetype for the microService of hsf"},{"artifactId":"stonehenge-archetype-java","groupId":"com.github.donhac","versions":["1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.2","1.0.1","1.0.0"],"description":"a maven archetype for the microService of java"},{"artifactId":"maven-archetype-springboot","groupId":"com.github.drtrang","versions":["1.0.1","1.0.0"],"description":"基于 Spring Boot 的 Maven 原型"},{"artifactId":"ora-gen","groupId":"com.github.dttxrep","versions":["4.0.0","3.9.0"],"description":"ora gen"},{"artifactId":"easypack-archetype-jetty","groupId":"com.github.easypack","versions":["1.0.BETA"],"description":"Maven archetype for creating a project that uses an embedded Jetty and is packaged with an EasyPack packaging"},{"artifactId":"easypack-archetype-quickstart","groupId":"com.github.easypack","versions":["1.0.BETA"],"description":"Maven archetype for quick starting a project that uses one of the EasyPack packagings"},{"artifactId":"easypack-archetype-tomcat","groupId":"com.github.easypack","versions":["1.0.BETA"],"description":"Maven archetype for creating a project that uses an embedded Tomcat and is packaged with an EasyPack packaging"},{"artifactId":"easypack-archetype-undertow","groupId":"com.github.easypack","versions":["1.0.BETA"],"description":"Maven archetype for creating a project that uses the Undertow server and is packaged with an EasyPack packaging"},{"artifactId":"archetype-default-pom","groupId":"com.github.fastcube.factory.tibco","versions":["1.0.2","1.0.1","1.0.0"],"description":"This archetype will create an independent POM with default properties\n\t\trequired by the FC TIBCO Factory plugins."},{"artifactId":"archetype-default-workspace","groupId":"com.github.fastcube.factory.tibco","versions":["1.0.2","1.0.1","1.0.0"],"description":"This archetype creates the default workspace (with BusinessWorks projects, Java projects & delivery project)."},{"artifactId":"archetype-bw-default-project","groupId":"com.github.fastcube.factory.tibco.bw.maven","versions":["1.0.1","1.0.0"],"description":"This archetype creates an empty TIBCO BusinessWorks project."},{"artifactId":"archetype-bw-default-projlib","groupId":"com.github.fastcube.factory.tibco.bw.maven","versions":["1.0.1","1.0.0"],"description":"This archetype creates an empty TIBCO BusinessWorks Projlib project."},{"artifactId":"archetype-bw-mavenizer","groupId":"com.github.fastcube.factory.tibco.bw.maven","versions":["1.0.1","1.0.0"],"description":"This archetype will create a POM that inherits from FC TIBCO Factory\n\t\tparent POM *OR* from the client's root POM created with\n\t\t'archetype-client-root-project' archetype.\n\n\t\tThis POM will be the Maven configuration for the existing TIBCO BW\n\t\tproject.\n\t\t\n\t\t1) you want to use the default FC TIBCO Factory parent, then replace the\n\t\t'rootProjectGroupId', 'rootProjectArtifactId' & 'rootProjectVersion'\n\t\tby the content of 'fcFactoryGroupId', 'fcFactoryArtifactId' &\n\t\t'fcFactoryVersion' respectively.\n\t\t\n\t\t2) you want to use your own parent created with\n\t\t'archetype-client-root-project', then replace 'rootProjectGroupId',\n\t\t'rootProjectArtifactId' & 'rootProjectVersion' by the values of your\n\t\town parent (ex: 'com.company.project', 'project-root', '1.0.0')."},{"artifactId":"latex-maven-archetype","groupId":"com.github.fracpete","versions":["1.4.4","1.4.3","1.4.2","1.4.1","1.4.0"],"description":"The LaTeX Maven Archetype is kickstarts your LaTeX / Maven projects."},{"artifactId":"vaadin-archetype-springboot-application","groupId":"com.github.fredlo2010","versions":["1.0.3","1.0.1","1.0.0"],"description":"This project is no longer maintained :(\n\n Please user coordinates\n com.github.sparkmuse : vaadin-archetype-springboot-application : 1.0.2\n\n See: https://github.com/sparkmuse/vaadin-archetype-springboot-application"},{"artifactId":"yogurtcat-archetype","groupId":"com.github.freshconnect","versions":["0.0.3.RELEASE"],"description":"yogurtcat project"},{"artifactId":"avro-project-archetype","groupId":"com.github.frtu.archetype","versions":["1.1.0","1.0.1","1.0.0","0.3.6","0.3.5","0.3.4","0.3.3","0.3.2"],"description":"Avro project archetype"},{"artifactId":"base-project-archetype","groupId":"com.github.frtu.archetype","versions":["1.2.5","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.5","1.0.3","1.0.1","1.0.0"],"description":"Base project archetype"},{"artifactId":"kafka-project-archetype","groupId":"com.github.frtu.archetype","versions":["0.3.1","0.3.0"],"description":"Avro and Kafka project archetype"},{"artifactId":"kotlin-plt-stream-project-archetype","groupId":"com.github.frtu.archetype","versions":["1.2.5","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.6","1.1.5","1.1.4"],"description":"kotlin platform stream with spring-cloud project archetype"},{"artifactId":"kotlin-project-archetype","groupId":"com.github.frtu.archetype","versions":["1.2.5","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1"],"description":"Kotlin Base project archetype"},{"artifactId":"kotlin-spring-boot-1x-project-archetype","groupId":"com.github.frtu.archetype","versions":["1.2.5","1.2.4"],"description":"kotlin-spring-boot 1.x project archetype"},{"artifactId":"kotlin-spring-boot-project-archetype","groupId":"com.github.frtu.archetype","versions":["1.2.5","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1"],"description":"kotlin-spring-boot project archetype"},{"artifactId":"kt-protobuf-project-archetype","groupId":"com.github.frtu.archetype","versions":["1.2.5","1.2.4"],"description":"Kotlin Protobuf project archetype"},{"artifactId":"plt-graphql-project-archetype","groupId":"com.github.frtu.archetype","versions":["1.0.5"],"description":"Platform project archetype to generate GraphQL using\n https://github.com/graphql-java-generator/graphql-maven-plugin-project"},{"artifactId":"plt-kafka-project-archetype","groupId":"com.github.frtu.archetype","versions":["1.1.0","1.0.1","1.0.0","0.3.6","0.3.5","0.3.3","0.3.2"],"description":"Kafka Platform project archetype"},{"artifactId":"plt-spark-project-archetype","groupId":"com.github.frtu.archetype","versions":["1.1.0","1.0.1","1.0.0","0.3.6","0.3.5","0.3.4","0.3.3","0.3.2"],"description":"Spark Platform project archetype"},{"artifactId":"proto-project-archetype","groupId":"com.github.frtu.archetype","versions":["1.0.1"],"description":"Proto project archetype"},{"artifactId":"spring-boot-project-archetype","groupId":"com.github.frtu.archetype","versions":["1.2.5","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0"],"description":"spring-boot project archetype"},{"artifactId":"fuse-archetype","groupId":"com.github.galatearaj","versions":["0.0.4"],"description":"A sample archetype for Galatea projects"},{"artifactId":"java-application-maven-archetype","groupId":"com.github.gantsign.maven.archetypes","versions":["4.3.0","4.2.2","4.2.1","4.2.0","4.1.0","4.0.0","3.1.0","3.0.2","3.0.1","3.0.0","2.5.5","2.5.4","2.5.3","2.5.2","2.5.1","2.5.0","2.4.0","2.3.2","2.3.1","2.3.0","2.2.3","2.2.2"],"description":"Maven archetype for building Java applications"},{"artifactId":"java-library-maven-archetype","groupId":"com.github.gantsign.maven.archetypes","versions":["4.3.0","4.2.2","4.2.1","4.2.0","4.1.0","4.0.0","3.1.0","3.0.2","3.0.1","3.0.0","2.5.5","2.5.4","2.5.3","2.5.2","2.5.1","2.5.0","2.4.0","2.3.2","2.3.1","2.3.0","2.2.3","2.2.2"],"description":"Maven archetype for building Java libraries"},{"artifactId":"kotlin-application-maven-archetype","groupId":"com.github.gantsign.maven.archetypes","versions":["4.3.0","4.2.2","4.2.1","4.2.0","4.1.0","4.0.0","3.1.0","3.0.2","3.0.1","3.0.0","2.5.5","2.5.4","2.5.3","2.5.2","2.5.1","2.5.0","2.4.0","2.3.2","2.3.1","2.3.0","2.2.3","2.2.2"],"description":"Maven archetype for building Kotlin applications"},{"artifactId":"kotlin-library-maven-archetype","groupId":"com.github.gantsign.maven.archetypes","versions":["4.3.0","4.2.2","4.2.1","4.2.0","4.1.0","4.0.0","3.1.0","3.0.2","3.0.1","3.0.0","2.5.5","2.5.4","2.5.3","2.5.2","2.5.1","2.5.0","2.4.0","2.3.2","2.3.1","2.3.0","2.2.3","2.2.2"],"description":"Maven archetype for building Kotlin libraries"},{"artifactId":"ant-maven-plugin-archetype","groupId":"com.github.genthaler","versions":["1.2.3","1.2.2","1.2"],"description":"Maven Archetype to generate an Ant-based Maven Plugin"},{"artifactId":"beanshell-maven-plugin-archetype","groupId":"com.github.genthaler","versions":["1.2.3","1.2.2","1.2"],"description":"Maven Archetype to generate an Beanshell-based Maven Plugin"},{"artifactId":"gwt-boot-basic-archetype","groupId":"com.github.gwtboot","versions":["1.0.0"],"description":"GWT Boot Maven Archetypes - Basic"},{"artifactId":"gwt-boot-ui-domino-dagger2-archetype","groupId":"com.github.gwtboot","versions":["1.0.0"],"description":"GWT Boot Maven Archetypes - DominoUI Dagger2"},{"artifactId":"gwt-material-archetype","groupId":"com.github.gwtmaterialdesign","versions":["2.5.0","2.4.2","2.4.1","2.4.0","2.4.0-rc2","2.4.0-rc1","2.3.2","2.3.0","2.2","2.1.1","2.1","2.0.1","2.0","2.0-rc6","2.0-rc5","2.0-rc4","2.0-rc3","2.0-rc2","2.0-rc1","1.6.0","1.5.2","1.5.1","1.5.0"]},{"artifactId":"gwt-material-errai-archetype","groupId":"com.github.gwtmaterialdesign","versions":["2.0.1","2.0","2.0-rc6","2.0-rc5","1.0-rc4","1.0-rc3","1.0-rc2","1.0-rc1"],"description":"A GWT Material Errai Archetype that provides easy creation of gwt-material projects with Errai Framework"},{"artifactId":"gwt-material-pwa-archetype","groupId":"com.github.gwtmaterialdesign","versions":["2.5.0","2.4.2","2.4.1","2.4.0","2.4.0-rc2","2.4.0-rc1","2.3.2","2.3.0","2.1.1","2.1"]},{"artifactId":"angulargwt-app-archetype","groupId":"com.github.h0ru5.gwt","versions":["1.1.3","1.1.2"],"description":"Archetype for Webapps using AngularGWT incl. example controller and scope"},{"artifactId":"angulargwt-module-archetype","groupId":"com.github.h0ru5.gwt","versions":["1.1.3","1.1.2"],"description":"Archetype for an AngularGwt Module with example service"},{"artifactId":"happyfaces-archetype","groupId":"com.github.happyfaces","versions":["1.0.2","1.0.1","1.0.0"],"description":"Description"},{"artifactId":"maven-archetype-plugin","groupId":"com.github.hc621311","versions":["1.4.0","1.2.0","1.1.1","1.1.0","1.0.0"],"description":"HC :: maven archetype :: plugin"},{"artifactId":"github-workflow-java-archetype","groupId":"com.github.hemantsonu20","versions":["1.0.1","1.0.0"],"description":"Maven Archetype to generate a java based project with configured github workflow"},{"artifactId":"spring-boot-kafka-archetype","groupId":"com.github.hey-johnnypark","versions":["1.0"],"description":"A Maven Archetype for an example spring boot application with spring-kafka"},{"artifactId":"template-project-archetype","groupId":"com.github.huifer","versions":["1.2","1.1"],"description":"Template engineering of huifer."},{"artifactId":"maven-archetype-executable","groupId":"com.github.igor-petruk.archetypes","versions":["0.1"],"description":"Executable Quickstart Archetype that is ready to run with 'java -jar'"},{"artifactId":"maven-archetype-scala-executable","groupId":"com.github.igor-petruk.archetypes","versions":["0.1"],"description":"Creates executable Scala Project that is ready to run with 'java -jar'"},{"artifactId":"daemon-archetype","groupId":"com.github.igor-suhorukov","versions":["0.1"],"description":"Daemon-archetype can generate project structure to package your application as daemon or standalone executable app"},{"artifactId":"invictum-junit-archetype","groupId":"com.github.invictum","versions":["1.8","1.7","1.6","1.5","1.4","1.3","1.2","1.1","1.0"],"description":"Archetype for simple project with jUnit style automated tests. Based on Serenity BDD project."},{"artifactId":"authoring-archetype","groupId":"com.github.io-siv","versions":["1.0.1"],"description":"Archetype to quickstart your way to Cucumber BrowserStack Parallel IVV Testing"},{"artifactId":"kafka-connect-quickstart","groupId":"com.github.jcustenborder.kafka.connect","versions":["2.4.0","2.0.0-cp1","0.11.0.0-cp1","0.10.2.1-cp2","0.10.1.0-cp1"],"description":"A quickstart for building Kafka Connect connectors."},{"artifactId":"anylogspi-archetype","groupId":"com.github.jobop","versions":["1.0.4","1.0.3","1.0.0"]},{"artifactId":"worker-batch-archetype","groupId":"com.github.jobservice","versions":["3.4.0-463","3.3.0-377","3.2.1-350","3.2.0-256","3.1.0-161","3.0.0-100","2.2.0-63","2.1.0-18","2.0.1-11","2.0.0-9"]},{"artifactId":"testmaker-archetype","groupId":"com.github.jorge2m","versions":["2.1.35","2.1.34","2.1.33","2.1.32","2.1.31","2.1.30","2.1.29","2.1.28","2.1.25","2.1.24","2.1.23","2.1.22","2.1.21","2.1.19","2.1.18","2.1.17","2.1.16","2.1.15","2.1.14","2.1.13","2.1.12","2.1.10","2.1.9","2.1.8","2.1.7","2.1.6","2.1.5","2.1.4","2.1.3","2.1.2","2.1.1","2.1.0","2.0.15","2.0.14","2.0.13","2.0.11","2.0.10","2.0.9","2.0.8","2.0.7","2.0.6","2.0.5","2.0.4","2.0.2","2.0.1","2.0.0","1.3.21","1.3.20","1.3.18","1.3.17","1.3.16","1.3.14","1.3.13","1.3.12","1.3.11","1.3.10","1.3.9","1.3.8","1.3.7","1.3.6","1.3.5","1.3.4","1.3.3","1.3.2","1.3.1","1.3.0","1.2.0","1.1.0","1.0.0"]},{"artifactId":"testmaker-archetype-pageobj","groupId":"com.github.jorge2m","versions":["2.1.35","2.1.34","2.1.33","2.1.32","2.1.31","2.1.30","2.1.29","2.1.28","2.1.25","2.1.24","2.1.23","2.1.22","2.1.21","2.1.19","2.1.18","2.1.17","2.1.16","2.1.15","2.1.14","2.1.13","2.1.12","2.1.10","2.1.9","2.1.8","2.1.7","2.1.6","2.1.5","2.1.4","2.1.3","2.1.2","2.1.1","2.1.0","2.0.15","2.0.14","2.0.13","2.0.11","2.0.10","2.0.9","2.0.8","2.0.7","2.0.6","2.0.5","2.0.4","2.0.2","2.0.1","2.0.0","1.3.21","1.3.20","1.3.18","1.3.17","1.3.16","1.3.14","1.3.13","1.3.12","1.3.11","1.3.10","1.3.9","1.3.8","1.3.7","1.3.6","1.3.5","1.3.4","1.3.3","1.3.2","1.3.1","1.3.0"]},{"artifactId":"jpm-archetype","groupId":"com.github.jpaoletti","versions":["1.5.3","1.5.2","1.5.0","1.4.0"],"description":"Archetype for a jpm-struts1-bootstrap project"},{"artifactId":"testng-selenium-archetype","groupId":"com.github.jsdevel","versions":["0.11.0","0.10.16"],"description":"Quickly get up and running with testng-selenium."},{"artifactId":"javaee-security-quickstart-archetype","groupId":"com.github.karlnicholas","versions":["1.2","1.1","1.0.1","1.0.0"],"description":"Java EE MVC quickstart with form based security and user self-registration pages."},{"artifactId":"k2-archetype-application","groupId":"com.github.katari","versions":["0.1.12","0.1.11","0.1.10","0.1.9","0.1.8","0.1.7","0.1.6","0.1.5","0.1.4","0.1.3","0.1.2","0.1.1","0.1.0","0.0.19","0.0.18","0.0.17","0.0.16","0.0.15","0.0.14","0.0.13","0.0.12","0.0.11","0.0.10","0.0.9","0.0.8","0.0.7","0.0.6","0.0.5","0.0.4","0.0.3","0.0.2","0.0.1","0.0.7.2","0.0.7.1"]},{"artifactId":"k2-archetype-module","groupId":"com.github.katari","versions":["0.1.12","0.1.11","0.1.10","0.1.9","0.1.8","0.1.7","0.1.6","0.1.5","0.1.4","0.1.3","0.1.2","0.1.1","0.1.0","0.0.19","0.0.18","0.0.17","0.0.16","0.0.15","0.0.14","0.0.13","0.0.12","0.0.11","0.0.10","0.0.9","0.0.8","0.0.7","0.0.6","0.0.5","0.0.4","0.0.3","0.0.2","0.0.1","0.0.7.2","0.0.7.1"]},{"artifactId":"springJdbiArch","groupId":"com.github.kentyeh","versions":["3.0.1","3.0.0","2.5.4","2.5.3","2.5.2","2.5.1","2.5.0","2.4.1","2.4","2.3","2.2","2.1","2.0","1.0"],"description":"Spring and JDBI web archetype"},{"artifactId":"cucumber-selenium-archetype","groupId":"com.github.kevbradwick","versions":["1.0.1","1.0.0"],"description":"A Maven archetype for creating a Cucumber project with Selenium support"},{"artifactId":"gwt-clean-app-archetype","groupId":"com.github.kospiotr","versions":["2.6.1","1.1"]},{"artifactId":"gwt-clean-sdv-app-archetype","groupId":"com.github.kospiotr","versions":["2.6.1","1.1"]},{"artifactId":"gwt-gxt-clean-sdv-app-archetype","groupId":"com.github.kospiotr","versions":["2.6.1","1.1"]},{"artifactId":"standalone-jpa-eclipselink-archetype","groupId":"com.github.lalyos","versions":["0.0.2","0.0.1"],"description":"StandAlone (j2se) jpa project with eclipseLink implementations using embedded DerbiDB"},{"artifactId":"ecology-plugin-archetype","groupId":"com.github.liuzhenghui","versions":["1.0.3","1.0.2","1.0.1","1.0.0","0.0.5","0.0.4","0.0.2","0.0.1"],"description":"ecology archetype for Java"},{"artifactId":"alexa-custom-skill-archetype","groupId":"com.github.lucarosellini","versions":["1.0.0"],"description":"Maven artifact used to scaffold a new Alexa Custom Skill lambda function using the Java SDK"},{"artifactId":"macchinetta-batch-archetype","groupId":"com.github.macchinetta.blank","versions":["2.3.1.RELEASE","2.3.0.RELEASE","2.2.1.RELEASE","2.2.0.RELEASE","2.1.1.RELEASE","2.0.2.RELEASE","2.0.1.RELEASE"],"description":"Archetype project for Macchinetta Batch Framework (2.x)"},{"artifactId":"macchinetta-multi-web-blank-archetype","groupId":"com.github.macchinetta.blank","versions":["1.8.1.SP1.RELEASE","1.8.1.RELEASE","1.8.0.SP1.RELEASE","1.8.0.RELEASE","1.7.2.SP1.RELEASE","1.7.2.RELEASE","1.7.0.SP1.RELEASE","1.7.0.RELEASE","1.6.1.RELEASE","1.5.2.RELEASE","1.5.1.RELEASE","1.4.2.RELEASE","1.4.1.RELEASE","1.4.0.RELEASE","1.4.0.RC1"],"description":"Web Blank Multi Project using Macchinetta Server Framework (1.x)"},{"artifactId":"macchinetta-multi-web-blank-thymeleaf-archetype","groupId":"com.github.macchinetta.blank","versions":["1.8.1.SP1.RELEASE","1.8.1.RELEASE","1.8.0.SP1.RELEASE","1.8.0.RELEASE","1.7.2.SP1.RELEASE","1.7.2.RELEASE","1.7.1.SP1.RELEASE","1.7.1.RELEASE","1.7.0.SP1.RELEASE","1.7.0.RELEASE","1.6.1.RELEASE","1.5.2.RELEASE","1.5.1.RELEASE"],"description":"Web Blank Multi Project using Macchinetta Server Framework (1.x)"},{"artifactId":"macchinetta-web-blank-archetype","groupId":"com.github.macchinetta.blank","versions":["1.8.1.SP1.RELEASE","1.8.1.RELEASE","1.8.0.SP1.RELEASE","1.8.0.RELEASE","1.7.2.SP1.RELEASE","1.7.2.RELEASE","1.7.0.SP1.RELEASE","1.7.0.RELEASE","1.6.1.RELEASE","1.5.2.RELEASE","1.5.1.RELEASE","1.4.2.RELEASE","1.4.1.RELEASE","1.4.0.RELEASE","1.4.0.RC1"],"description":"Web Blank Project using Macchinetta Server Framework (1.x)"},{"artifactId":"macchinetta-web-blank-noorm-archetype","groupId":"com.github.macchinetta.blank","versions":["1.8.1.SP1.RELEASE","1.8.1.RELEASE","1.8.0.SP1.RELEASE","1.8.0.RELEASE","1.7.2.SP1.RELEASE","1.7.2.RELEASE","1.7.0.SP1.RELEASE","1.7.0.RELEASE","1.6.1.RELEASE","1.5.2.RELEASE","1.5.1.RELEASE","1.4.2.RELEASE","1.4.1.RELEASE","1.4.0.RELEASE","1.4.0.RC1"],"description":"Web Blank Project (No O/R Mapper) using Macchinetta Server Framework (1.x)"},{"artifactId":"macchinetta-web-blank-noorm-thymeleaf-archetype","groupId":"com.github.macchinetta.blank","versions":["1.8.1.SP1.RELEASE","1.8.1.RELEASE","1.8.0.SP1.RELEASE","1.8.0.RELEASE","1.7.2.SP1.RELEASE","1.7.2.RELEASE","1.7.1.SP1.RELEASE","1.7.1.RELEASE","1.7.0.SP1.RELEASE","1.7.0.RELEASE","1.6.1.RELEASE","1.5.2.RELEASE","1.5.1.RELEASE"],"description":"Web Blank Project (No O/R Mapper) using Macchinetta Server Framework (1.x)"},{"artifactId":"macchinetta-web-blank-thymeleaf-archetype","groupId":"com.github.macchinetta.blank","versions":["1.8.1.SP1.RELEASE","1.8.1.RELEASE","1.8.0.SP1.RELEASE","1.8.0.RELEASE","1.7.2.SP1.RELEASE","1.7.2.RELEASE","1.7.1.SP1.RELEASE","1.7.1.RELEASE","1.7.0.SP1.RELEASE","1.7.0.RELEASE","1.6.1.RELEASE","1.5.2.RELEASE","1.5.1.RELEASE"],"description":"Web Blank Project using Macchinetta Server Framework (1.x)"},{"artifactId":"gwt-pwa-archetype","groupId":"com.github.manolo","versions":["1.9.3"],"description":"GWT-2.8.1 project with Polymer and PWA service worker"},{"artifactId":"gwt-webappcreator-archetype","groupId":"com.github.manolo","versions":["1.0.0-alpha1"],"description":"GWT project based on webappcreator demo template"},{"artifactId":"robotframework-archetype-annotationlibrary","groupId":"com.github.markusbernhardt","versions":["1.0.1","1.0.0"],"description":"Robot Framework archetype for creating a testsuite"},{"artifactId":"robotframework-archetype-quickstart","groupId":"com.github.markusbernhardt","versions":["1.0.1","1.0.0"],"description":"Robot Framework archetype for creating a testsuite"},{"artifactId":"robotframework-archetype-selenium2library","groupId":"com.github.markusbernhardt","versions":["1.0.1","1.0.0"],"description":"Robot Framework archetype for creating a testsuite"},{"artifactId":"jboss-eap6-enterprise-archetype","groupId":"com.github.mcac0006","versions":["1.0.3","1.0.2","1.0.1","1.0.0"],"description":"A useful Maven Archetype which generates a vanilla, out-of-the-box EAR package bundle, ready for use on JBoss EAp 6.4"},{"artifactId":"kotlin-quickstart-archetype","groupId":"com.github.mhshams","versions":["0.2.1","0.2.0","0.1.0","0.0.11","0.0.10","0.0.9","0.0.8","0.0.6","0.0.5","0.0.4","0.0.1"],"description":"Kotlin Quick Start Archetype"},{"artifactId":"aerial-cucumber-junit-archetype","groupId":"com.github.mkolisnyk","versions":["0.0.4","0.0.6.1"]},{"artifactId":"aerial-cucumber-testng-archetype","groupId":"com.github.mkolisnyk","versions":["0.0.4","0.0.6.1"]},{"artifactId":"simple-webapp","groupId":"com.github.mkspcd","versions":["0.8.0"],"description":"The bare minimum for a functional webapp."},{"artifactId":"m11n-archetypes-angularjs","groupId":"com.github.monkeysintown","versions":["1.0.5","1.0.4","1.0.2","1.0.1"]},{"artifactId":"m11n-archetypes-intellij","groupId":"com.github.monkeysintown","versions":["1.0.5","1.0.4"]},{"artifactId":"m11n-archetypes-jbake","groupId":"com.github.monkeysintown","versions":["1.0.5","1.0.4"]},{"artifactId":"m11n-archetypes-single","groupId":"com.github.monkeysintown","versions":["1.0.5","1.0.4","1.0.2","1.0.1"]},{"artifactId":"springboot-archetype","groupId":"com.github.mozhumz","versions":["1.0.0"]},{"artifactId":"mn-archetype-accountservice","groupId":"com.github.mrharibo.micronet","versions":["0.1.4","0.1.3","0.1.2","0.1.1","0.1.0"],"description":"MicroNet Reference Account Service"},{"artifactId":"mn-archetype-activemq","groupId":"com.github.mrharibo.micronet","versions":["0.1.2","0.1.1","0.1.0"],"description":"MicroNet Containerized ActiveMQ Message Broker"},{"artifactId":"mn-archetype-couchbase","groupId":"com.github.mrharibo.micronet","versions":["0.1.0"],"description":"Docker Container Archetype to use Couchbase with MicroNet"},{"artifactId":"mn-archetype-database","groupId":"com.github.mrharibo.micronet","versions":["0.1.0"],"description":"MicroNet Database Component to Access PostgreSQL"},{"artifactId":"mn-archetype-gatewayservice","groupId":"com.github.mrharibo.micronet","versions":["0.1.1","0.1.0"],"description":"MicroNet API Gateway Service Archetype"},{"artifactId":"mn-archetype-playerservice","groupId":"com.github.mrharibo.micronet","versions":["0.1.1","0.1.0"],"description":"MicroNet Example Player Service to Manage Player Scores."},{"artifactId":"mn-archetype-roundservice","groupId":"com.github.mrharibo.micronet","versions":["0.1.1","0.1.0"],"description":"Round service which periodically broadcasts new round events"},{"artifactId":"mn-archetype-simpleservice","groupId":"com.github.mrharibo.micronet","versions":["0.1.4","0.1.2","0.1.1","0.1.0"],"description":"A simple MicroNet Service Archetype"},{"artifactId":"mn-archetype-testclient","groupId":"com.github.mrharibo.micronet","versions":["0.1.1","0.1.0"],"description":"Test Client for the MicroNet Sample Game"},{"artifactId":"mn-archetype-voteservice","groupId":"com.github.mrharibo.micronet","versions":["0.1.1","0.1.0"],"description":"Archetype for the VoteService that processes player guesses"},{"artifactId":"speedy-archetype","groupId":"com.github.mwmahlberg.speedy","versions":["0.1.1"],"description":"Archetype for creating Web Applications with the Speedy Web Application Framework"},{"artifactId":"modular-springboot-webapp","groupId":"com.github.nalukit.archetype","versions":["2022.9.14","2022.2.8","2022.1.30","2022.1.29","2022.1.21","2020.9.6","2020.9.3","2022.01.27"],"description":"The GWT WebAppCreator's sample (using GWT-RPC), modularized."},{"artifactId":"spring-boot-archetype","groupId":"com.github.netyjq","versions":["0.0.2.release","0.0.1.release"],"description":"help to quickly build efficient, code-clean and stable 'spring-boot' projects."},{"artifactId":"archetype-quickstart-jdk8","groupId":"com.github.ngeor","versions":["2.8.1","2.8.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.0","1.4.0","1.3.0","1.2.0","1.1.2","1.1.1","1.1.0","1.0.29","1.0.27","1.0.22","1.0.14"],"description":"A Maven archetype for a simple Java app, updated for Java 8"},{"artifactId":"noraui-archetype","groupId":"com.github.noraui","versions":["3.2.0","3.1.3","3.1.2","3.1.1","3.1.0","3.0.2","3.0.0","2.6.3","2.6.2","2.6.0","2.5.3","2.5.0","2.3.1","2.3.0","2.0.0","4.4.0.0","4.3.0.0","4.2.2.0","4.2.1.0","4.0.0.0"],"description":"Maven archetype for use a NORA-UI project"},{"artifactId":"panda-archtype-webapp","groupId":"com.github.pandafw","versions":["1.8.0","1.7.0","1.6.0","1.5.5"],"description":"An archetype which contains a sample Panda Webapp project."},{"artifactId":"kafka-streams-app-archetype","groupId":"com.github.piotr-kalanski","versions":["0.2.0","0.1.4","0.1.3","0.1.1"]},{"artifactId":"kafka-streams-app-archetype","groupId":"com.github.piotr-kalanski.kafka","versions":["0.1"]},{"artifactId":"gingerspec-starter","groupId":"com.github.privaliatech","versions":["1.21","1.20","1.19","1.18","1.17","1.16","1.15","1.15-RC2","1.15-RC1","1.14","1.13","1.12","1.11","1.10","1.9","1.8","1.7","1.6","1.5","1.4","1.3","1.3-RC4","1.3-RC2","1.3-RC1","1.2","1.2-RC1","1.1","1.1-RC3","1.0"],"description":"A maven archetype for creating new automation projects based on gingerspec library."},{"artifactId":"apigatewayandauthentication","groupId":"com.github.pwizenty","versions":["1.0.1.RELEASE","1.0.0.RELEASE"],"description":"Maven Archtypes for API Gateway and Authentication Sevices"},{"artifactId":"basicinfrastructureandusermanagement","groupId":"com.github.pwizenty","versions":["1.0.1.RELEASE","1.0.0.RELEASE"],"description":"Maven Archtypes for API Gateway, Authentication and Discovery Sevices"},{"artifactId":"fullinfrastructure","groupId":"com.github.pwizenty","versions":["1.0.1.RELEASE","1.0.0.RELEASE"],"description":"Maven Archtypes for Service Templates"},{"artifactId":"gatewayauthenticationanddiscovery","groupId":"com.github.pwizenty","versions":["1.0.1.RELEASE","1.0.0.RELEASE"],"description":"Maven Archtypes for API Gateway, Authentication and Discovery Sevices"},{"artifactId":"servicetemplate","groupId":"com.github.pwizenty","versions":["1.4.2.RELEASE","1.0.1.RELEASE","1.0.0.RELEASE"],"description":"Maven Archtypes for Service Templates"},{"artifactId":"rebue-archetype","groupId":"com.github.rebue.archetype","versions":["1.2.4","1.2.3","1.2.1","1.2.0","1.1.0","1.0.9"],"description":"基于Spring CLoud构建微服务的自定义archetype"},{"artifactId":"reflect-for-vaadin14-archetype","groupId":"com.github.reflect-framework.example","versions":["0.0.1"]},{"artifactId":"maven-archetype","groupId":"com.github.rutledgepaulv","versions":["1.0"],"description":"A maven archetype for com.github.rutledgepaulv projects."},{"artifactId":"jasmine-archetype","groupId":"com.github.searls","versions":["2.0","2.0-beta-02","2.0-beta-01","2.0-alpha-01","1.3.1.6","1.3.1.5","1.3.1.4","1.3.1.3","1.3.1.2","1.3.1.1","1.3.1.0"],"description":"An archetype to get started with JavaScript unit testing with Jasmine."},{"artifactId":"ui-automation-bootstrap","groupId":"com.github.sergiomartins8","versions":["1.6.1","1.6.0","1.5.0","1.4.0","1.3.0","1.2.0","1.1.0","1.0.0"],"description":"A template for selenium based ui automation projects using selenide"},{"artifactId":"archetype-quickstart-jdk8","groupId":"com.github.shalk","versions":["1.0.0"],"description":"archetype for a simple Java app with common dependency"},{"artifactId":"vaadin-archetype-springboot-application","groupId":"com.github.sparkmuse","versions":["2.0.0","1.0.2"],"description":"This archetype generates a Vaadin + Springboot application."},{"artifactId":"spotbugs-archetype","groupId":"com.github.spotbugs","versions":["0.2.3","0.2.2","0.2.1","0.2.0","0.1.0"],"description":"A Maven archetype for SpotBugs plugin project"},{"artifactId":"javaee-archetype","groupId":"com.github.stefnotch","versions":["0.0.7","0.0.6","0.0.5","0.0.4","0.0.3","0.0.2"],"description":"JavaEE 11 Archetype."},{"artifactId":"spring-boot-quick-start-archetype","groupId":"com.github.supermanhub","versions":["1.0"],"description":"A famous modern and lightweight architecture based on spring Framework, Boot, Security, Data JPA, HATEOAS, Thymeleaf, WebJars, TDD, RESTful API and so on, which helps you and your team to build web applications or web services quickly and easily."},{"artifactId":"fitnesse-project","groupId":"com.github.tcnh","versions":["1.0.4","1.0.3","1.0.2","1.0.1"],"description":"Project to create a Maven archetype that can be used to generate a FitNesse project based on hsac-fitnesse-fixtures extended with bootstrap-plus and allure"},{"artifactId":"aws-lambda-s3-example","groupId":"com.github.toobrien","versions":["1.3","1.2","1.1"],"description":"Template for an AWS Lambda function, demonstrating \n use of S3 module and POJO return type."},{"artifactId":"jsclipboard","groupId":"com.github.vaadin4qbanos","versions":["1.0.12"],"description":"JSClipboard Add-on"},{"artifactId":"giants-anemic-archetype","groupId":"com.github.vencent-lu","versions":["1.0.0"],"description":"giants server archetype"},{"artifactId":"giants-gateway-archetype","groupId":"com.github.vencent-lu","versions":["1.0.0"],"description":"giants gateway archetype"},{"artifactId":"swf-archetype","groupId":"com.github.venkatramanm.swf-all","versions":["2.11","2.10","2.9","2.8","2.5","2.3","2.2","2.1","2.0","1.11","1.10","1.8","1.7","1.6","1.5","1.4","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1","1.0"],"description":"Archetype to create apps using SWF"},{"artifactId":"swf-plugin-archetype","groupId":"com.github.venkatramanm.swf-all","versions":["2.11","2.10","2.9","2.8","2.5","2.3","2.2","2.1","2.0","1.11","1.10","1.8","1.7","1.6","1.5","1.4"],"description":"Succinct Web Framework - Archetype to create Plugins"},{"artifactId":"webdriverextensions-archetype-quickstart","groupId":"com.github.webdriverextensions","versions":["3.4.0","3.3.0","2.7.1","2.7.0","2.6.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.0","1.8.0","1.7.0","1.6.0","1.5.0","1.4.0","1.3.0","1.2.0","1.1.0","1.0.2","1.0.1","1.0"],"description":"Use this archetype to create a new Page Object Pattern based WebDriver Extension project."},{"artifactId":"gatein-rest-resource-archetype","groupId":"com.github.wisebrains.archetypes","versions":["1.1","1.0"],"description":"A Maven archetype to generate sample Restful GateIn resource"},{"artifactId":"code-ssm-archetype","groupId":"com.github.wjhstd","versions":["1.1","1.0"],"description":"code-ssm Maven Webapp"},{"artifactId":"worker-archetype","groupId":"com.github.workerframework","versions":["4.0.0-850","3.4.0-758","3.3.0-719","3.2.0-684","3.1.0-490","3.0.0-399","2.4.0-342","2.3.1-301","2.3.0-297","2.2.0-294","2.1.0-280","2.0.0-279","1.9.0-260","1.8.0-249","1.7.0-211","1.6.0-181","1.5.0-162","1.4.0-142","1.3.1-137","1.3.0-128","1.2.0-113"]},{"artifactId":"archetype-quickstart","groupId":"com.github.xlongshu.maven","versions":["1.0.1","1.0.0"],"description":"Java Quickstart"},{"artifactId":"archetype-spring-boot","groupId":"com.github.xlongshu.maven","versions":["1.0.1","1.0.0"],"description":"Spring Boot Quickstart"},{"artifactId":"archetype-webapp","groupId":"com.github.xlongshu.maven","versions":["1.0.1","1.0.0"],"description":"Java Webapp Quickstart"},{"artifactId":"archetype-webapp-2x","groupId":"com.github.xlongshu.maven","versions":["1.0.1","1.0.0"],"description":"Java Webapp 2.x Quickstart"},{"artifactId":"webmodule","groupId":"com.github.yhl452493373","versions":["1.2.0","1.1.11","1.1.10","1.1.9","1.1.8","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1"],"description":"Web Module project for Spring Boot.Depended on code-generator"},{"artifactId":"sfip-app-archetype","groupId":"com.github.yihaijun","versions":["1.0.6","1.0.6.160","1.0.6.158","1.0.6.157"],"description":"Create module archetype For SFIP(Service Fast Integration Platform)"},{"artifactId":"maven-archetype-quickstart","groupId":"com.github.ywchang","versions":["1.1","1.0"],"description":"Provide up-to-date java quickstart archetype"},{"artifactId":"module-project-archetype","groupId":"com.github.zavier","versions":["1.0.0"],"description":"module project archetype"},{"artifactId":"client-archetype-java","groupId":"com.gluonhq","versions":["0.0.2","0.0.1"]},{"artifactId":"client-archetype-javafx","groupId":"com.gluonhq","versions":["0.0.2","0.0.1"]},{"artifactId":"client-archetype-mobile","groupId":"com.gluonhq","versions":["0.0.2","0.0.1"]},{"artifactId":"gluonfx-archetype-java","groupId":"com.gluonhq","versions":["0.0.3"]},{"artifactId":"gluonfx-archetype-javafx","groupId":"com.gluonhq","versions":["0.0.3"]},{"artifactId":"gluonfx-archetype-mobile","groupId":"com.gluonhq","versions":["0.0.3"]},{"artifactId":"appengine-flexible-archetype","groupId":"com.google.appengine.archetypes","versions":["1.0.0","0.2.0","0.1.1","0.1.0"],"description":"A basic Java application with Google App Engine flexible."},{"artifactId":"appengine-skeleton-archetype","groupId":"com.google.appengine.archetypes","versions":["3.0.1","3.0.0","2.1.0-1.9.38","2.0.2-1.9.25","2.0.2-1.9.21","2.0.1-1.9.20","2.0.0-1.9.10","1.8.7"],"description":"A skeleton application with Google App Engine"},{"artifactId":"appengine-standard-archetype","groupId":"com.google.appengine.archetypes","versions":["1.0.2","1.0.1","1.0.0","0.4.0","0.3.0","0.2.0","0.1.1","0.1.0"],"description":"A basic Java application with Google App Engine Standard"},{"artifactId":"endpoints-skeleton-archetype","groupId":"com.google.appengine.archetypes","versions":["2.0.0","1.1.5-1.9.38","1.1.4-1.9.25","1.1.3-1.9.21","1.1.2-1.9.20","1.1.1-1.9.4","1.1","1.0"],"description":"A skeleton project using Cloud Endpoints Frameworks with Google App Engine Standard"},{"artifactId":"guestbook-archetype","groupId":"com.google.appengine.archetypes","versions":["4.0.2","4.0.1","4.0.0","3.1.0-1.9.42","3.0.2-1.9.38","3.0.1-1.9.25","3.0.1-1.9.21","3.0.0-1.9.20","2.0.0-1.9.10","1.8.4","1.7.7","1.7.6","1.7.5","1.7.4","1.7.4.1"],"description":"A guestbook application with Google App Engine"},{"artifactId":"hello-endpoints-archetype","groupId":"com.google.appengine.archetypes","versions":["2.0.0","1.1.5-1.9.38","1.1.4-1.9.25","1.1.4-1.9.21","1.1.3-1.9.20","1.1.2-1.9.20","1.1.1-1.9.4","1.1","1.0"],"description":"A simple starter application using Cloud Endpoints Frameworks with Google App Engine Standard"},{"artifactId":"skeleton-archetype","groupId":"com.google.appengine.archetypes","versions":["2.0.0","1.7.5","1.7.4"],"description":"Archetype with a README about Google App Engine archetypes"},{"artifactId":"guestbook-archetype","groupId":"com.google.appengine.demos","versions":["1.8.4"]},{"artifactId":"google-cloud-dataflow-java-archetypes-examples","groupId":"com.google.cloud.dataflow","versions":["2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.0","2.0.0-beta3","2.0.0-beta2","2.0.0-beta1","1.9.1","1.9.0","1.6.0","1.5.1","1.0.0"],"description":"Google Cloud Dataflow SDK for Java is a distribution of Apache\n Beam designed to simplify usage of Apache Beam on Google Cloud Dataflow\n service. This archetype creates a project containing all the example\n pipelines."},{"artifactId":"google-cloud-dataflow-java-archetypes-examples-java8","groupId":"com.google.cloud.dataflow","versions":["2.2.0","2.1.0","2.0.0","2.0.0-beta3"],"description":"Google Cloud Dataflow SDK for Java is a distribution of Apache\n Beam designed to simplify usage of Apache Beam on Google Cloud Dataflow\n service. This archetype creates a project containing all the example\n pipelines targeting Java 8."},{"artifactId":"google-cloud-dataflow-java-archetypes-starter","groupId":"com.google.cloud.dataflow","versions":["2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.0","2.0.0-beta3","2.0.0-beta2","2.0.0-beta1","1.9.1","1.9.0","1.6.0","1.5.1","1.0.0"],"description":"Google Cloud Dataflow SDK for Java is a distribution of Apache\n Beam designed to simplify usage of Apache Beam on Google Cloud Dataflow\n service. This archetype creates a simple starter pipeline to get started\n using the Google Cloud Dataflow SDK for Java."},{"artifactId":"plsql-package-archetype","groupId":"com.google.code.plsqlmaven","versions":["1.11","1.10","1.9","1.8","1.7","1.6","1.4","1.3","1.2","1.1","1.0"],"description":"a sample archetype that creates a project with a PL/SQL package inside and extends the parent project"},{"artifactId":"plsql-project-archetype","groupId":"com.google.code.plsqlmaven","versions":["1.11","1.10","1.9","1.8","1.7","1.6","1.4","1.3","1.2"],"description":"preconfigured PL/SQL project"},{"artifactId":"plsql-webapp-archetype","groupId":"com.google.code.plsqlmaven","versions":["1.11","1.10","1.9","1.8","1.7","1.6","1.4","1.3","1.2","1.1"],"description":"preconfigured PL/SQL webapp"},{"artifactId":"gerrit-plugin-archetype","groupId":"com.google.gerrit","versions":["2.13.9","2.13.8","2.13.7","2.13.6","2.13.5","2.13.4","2.13.3","2.13.2","2.13.1","2.13","2.12.7","2.12.6","2.12.5","2.12.4","2.12.3","2.12.2","2.12.1","2.12","2.12-rc0","2.11.10","2.11.9","2.11.8","2.11.7","2.11.6","2.11.5","2.11.4","2.11.3","2.11.2","2.11.1","2.11","2.10.7","2.10.6","2.10.5","2.10.4","2.10.3","2.10.2","2.10.1","2.10","2.10-rc2","2.10-rc1","2.10-rc0","2.9.3","2.9.1","2.9","2.9-rc2","2.9-rc1","2.10.3.1"],"description":"Maven Archetype for Gerrit Plugins"},{"artifactId":"gerrit-plugin-gwt-archetype","groupId":"com.google.gerrit","versions":["2.13.9","2.13.8","2.13.7","2.13.6","2.13.5","2.13.4","2.13.3","2.13.2","2.13.1","2.13","2.12.7","2.12.6","2.12.5","2.12.4","2.12.3","2.12.2","2.12.1","2.12","2.12-rc0","2.11.10","2.11.9","2.11.8","2.11.7","2.11.6","2.11.5","2.11.4","2.11.3","2.11.2","2.11.1","2.11","2.10.7","2.10.6","2.10.5","2.10.4","2.10.3","2.10.2","2.10.1","2.10","2.10-rc2","2.10-rc1","2.10-rc0","2.9.3","2.9.1","2.9","2.9-rc2","2.9-rc1","2.10.3.1"],"description":"Maven Archetype for Gerrit Web UI GWT Plugins"},{"artifactId":"gerrit-plugin-js-archetype","groupId":"com.google.gerrit","versions":["2.13.9","2.13.8","2.13.7","2.13.6","2.13.5","2.13.4","2.13.3","2.13.2","2.13.1","2.13","2.12.7","2.12.6","2.12.5","2.12.4","2.12.3","2.12.2","2.12.1","2.12","2.12-rc0","2.11.10","2.11.9","2.11.8","2.11.7","2.11.6","2.11.5","2.11.4","2.11.3","2.11.2","2.11.1","2.11","2.10.7","2.10.6","2.10.5","2.10.4","2.10.3","2.10.2","2.10.1","2.10","2.10-rc2","2.10-rc1","2.10-rc0","2.9.3","2.9.1","2.9","2.9-rc2","2.9-rc1","2.10.3.1"],"description":"Maven Archetype for Gerrit Web UI JavaScript Plugins"},{"artifactId":"sitebricks-jetty-archetype","groupId":"com.google.sitebricks","versions":["0.8.7"]},{"artifactId":"parent-archetype","groupId":"com.googlecode.android-player-root-archetype","versions":["1.0"]},{"artifactId":"apparat-archetype-asm","groupId":"com.googlecode.apparat","versions":["1.0-RC9","1.0.RC8","1.0.RC7","1.0.RC6"]},{"artifactId":"apparat-archetype-tdsi","groupId":"com.googlecode.apparat","versions":["1.0-RC9","1.0.RC8","1.0.RC7","1.0.RC6","1.0.RC5","1.0.RC4"]},{"artifactId":"etlunit-feature-archetype","groupId":"com.googlecode.etl-unit","versions":["1.6.9","1.6.8","1.6.7","1.6.6","1.6.5","1.6.3","1.6.2","1.6.1","1.6.0","1.5.3","1.5.2","1.5.1"]},{"artifactId":"etlunit-project-archetype","groupId":"com.googlecode.etl-unit","versions":["1.6.9","1.6.8","1.6.7","1.6.6","1.6.5","1.6.3","1.6.2","1.6.1","1.6.0","1.5.3","1.5.2","1.5.1"]},{"artifactId":"gquery-archetype","groupId":"com.googlecode.gwtquery","versions":["1.5-beta4","1.5-beta3","1.5-beta2","1.5-beta1","1.3.3","1.3.2","1.3.1","1.2.0","1.1.3","1.1.2","1.1.1","1.1.0","1.0.0","0.5","0.4","0.3","0.2"],"description":"This archetype generates a GWT project with all set to use GwtQuery and its plugins."},{"artifactId":"gquery-plugin-archetype","groupId":"com.googlecode.gwtquery","versions":["0.5","0.4","0.3","0.2","0.1"],"description":"This archetype generates a maven/eclipse project with all set for creating a new GwtQuery Plugin"},{"artifactId":"jannocessor-sample-archetype","groupId":"com.googlecode.jannocessor","versions":["0.7.4","0.7.3","0.7.2","0.7.1","0.7.0","0.6.8","0.6.7","0.6.6","0.6.5","0.6.4","0.6.3","0.6.2"],"description":"Multi-module sample project for annotation-driven source code generation with JAnnocessor"},{"artifactId":"jdbc-proc-archetype","groupId":"com.googlecode.jdbc-proc","versions":["1.0-5"],"description":"Creates simple project with jdbc-proc support"},{"artifactId":"metridoc-archetype","groupId":"com.googlecode.metridoc","versions":["0.30","0.29","0.28","0.27","0.26"]},{"artifactId":"mycontainer-gae-archetype","groupId":"com.googlecode.mycontainer","versions":["1.7.5","1.7.2","1.7.1","1.6.7","1.6.3","1.6.2","1.6.0","1.5.3","1.5.2","1.5.1","1.5.0","1.4.11","1.4.8","1.4.7"]},{"artifactId":"playn-archetype","groupId":"com.googlecode.playn","versions":["1.9.1","1.9","1.9-alpha1","1.8.5","1.8","1.7.2","1.7.1","1.7","1.6","1.5.1","1.5","1.4","1.3.1","1.3","1.2","1.1.1","1.1","1.0.3","1.0.2","1.0.1","1.0"],"description":"Archetype for PlayN game projects."},{"artifactId":"graphaware-runtime-module-maven-archetype","groupId":"com.graphaware.neo4j","versions":["2.1.4.18","2.1.4.17","2.1.3.15","2.1.3.14","2.1.3.11","2.1.3.10","2.1.2.9","2.1.2.7","2.1.1.6","2.0.3.6"]},{"artifactId":"graphaware-springmvc-maven-archetype","groupId":"com.graphaware.neo4j","versions":["2.1.4.18","2.1.4.17","2.1.3.15","2.1.3.14","2.1.3.11","2.1.3.10","2.1.2.9","2.1.2.7","2.1.1.6","2.0.3.6"]},{"artifactId":"neo4j-graphaware-runtime-module-maven-archetype","groupId":"com.graphaware.neo4j","versions":["2.0.3.4"]},{"artifactId":"neo4j-springmvc-maven-archetype","groupId":"com.graphaware.neo4j","versions":["2.0.3.4","2.0.3.3"]},{"artifactId":"gwt-simple","groupId":"com.gwidgets.maven","versions":["0.4"],"description":"simple gwt project archetype with the net.ltgt plugin"},{"artifactId":"gwt-simple-mojo-plugin","groupId":"com.gwidgets.maven","versions":["0.4"],"description":"simple gwt project archetype with mojo plugin"},{"artifactId":"spring-boot-gwt","groupId":"com.gwidgets.maven","versions":["0.4"],"description":"A maven archetype that integrates GWT into a Spring Boot Application"},{"artifactId":"springboot-rest-api","groupId":"com.hackerrank.archetypes","versions":["1.0.0","0.0.0"],"description":"An archetype which contains a sample Spring Boot REST API project."},{"artifactId":"handcraftedbits-archetype-aws","groupId":"com.handcraftedbits.archetype","versions":["1.2.2","1.2.1","1.2.0","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7"],"description":"A Maven Archetype for HandcraftedBits AWS Projects"},{"artifactId":"handcraftedbits-archetype-java","groupId":"com.handcraftedbits.archetype","versions":["1.2.2","1.2.1","1.2.0","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"A Maven Archetype for HandcraftedBits Java Projects"},{"artifactId":"handcraftedbits-archetype-simple","groupId":"com.handcraftedbits.archetype","versions":["1.2.2","1.2.1","1.2.0","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"A Maven Archetype for Simple HandcraftedBits Projects"},{"artifactId":"maven-archetype-quickstart","groupId":"com.haoxuer.maven.archetype","versions":["1.01"],"description":"a simple maven archetype"},{"artifactId":"maven-archetype-simple","groupId":"com.haoxuer.maven.archetype","versions":["1.01"],"description":"a simple maven archetype"},{"artifactId":"maven-archetype-webapp","groupId":"com.haoxuer.maven.archetype","versions":["1.01"],"description":"a simple maven archetype"},{"artifactId":"archetype","groupId":"com.hazelcast.simulator","versions":["1.0","0.13","0.12","0.9.9","0.9.8","0.9.7","0.9.6","0.9.5","0.9.4","0.9.3","0.9.2","0.9.1","0.9","0.9-RC1","0.8.6","0.8.5","0.8.4","0.8.1","0.8","0.7","0.6","0.5","0.4"]},{"artifactId":"archetype","groupId":"com.hazelcast.stabilizer","versions":["0.3"]},{"artifactId":"ussd-app-archetype","groupId":"com.hextremelabs.ussd","versions":["1.0.1","1.0"],"description":"A lightweight USSD application framework"},{"artifactId":"weby","groupId":"com.highwise","versions":["0.22","0.21","0.2","0.1"],"description":"A simple spring mvc + hibernate project archetype"},{"artifactId":"antlr4-archetype","groupId":"com.hiskasoft.antlr4","versions":["0.1"],"description":"Create custom lang with ANTLR v4"},{"artifactId":"antlr4-maven-archetype","groupId":"com.hiskasoft.maven","versions":["0.1"],"description":"ANTLR v4 Maven Archetype"},{"artifactId":"hivemq-extension-archetype","groupId":"com.hivemq","versions":["4.6.3","4.6.2","4.6.1","4.6.0","4.5.5","4.5.4","4.5.3","4.5.2","4.5.1","4.5.0","4.4.8","4.4.7","4.4.6","4.4.5","4.4.4","4.4.3","4.4.2","4.4.1","4.4.0","4.3.1","4.3.0","4.2.0","4.1.1","4.1.0","4.0.1","4.0.0"],"description":"The Maven Plugin Archetype which makes HiveMQ extension development a breeze."},{"artifactId":"hivemq-plugin-archetype","groupId":"com.hivemq","versions":["3.4.0","3.3.0","3.1.0","3.0.1","3.0.0","2.1.0"],"description":"The Maven Plugin Archetype which makes HiveMQ plugin development a breeze."},{"artifactId":"sermant-template-archetype","groupId":"com.huaweicloud.sermant","versions":["0.0.1"],"description":"The parent pom of Sermant."},{"artifactId":"sermant-examples-archetype","groupId":"com.huaweicloud.sermant.examples","versions":["0.0.2","0.0.1"],"description":"The parent pom of Sermant."},{"artifactId":"huongdanjava-jakartaee8-archetype","groupId":"com.huongdanjava","versions":["1.0.0"],"description":"Huong Dan Java - Jakarta EE 8 Maven Archetype project."},{"artifactId":"huongdanjava-springmvc-archetype","groupId":"com.huongdanjava","versions":["1.0.0"],"description":"Huong Dan Java - Spring MVC Maven Archetype project."},{"artifactId":"logisland-plugin-archetype","groupId":"com.hurence.logisland","versions":["0.9.7","0.9.6","0.9.5","0.9.4"]},{"artifactId":"cics-bundle-deploy-reactor-archetype","groupId":"com.ibm.cics","versions":["1.0.3","1.0.2","1.0.1","1.0.0"]},{"artifactId":"cics-bundle-reactor-archetype","groupId":"com.ibm.cics","versions":["1.0.3","1.0.2","1.0.1","1.0.0","0.0.1"]},{"artifactId":"adapter-maven-archetype-http","groupId":"com.ibm.mfp","versions":["8.0.2023020911","8.0.2023011113","8.0.2022121907","8.0.2022110300","8.0.2022090709","8.0.2022072713","8.0.2022030307","8.0.2022013112","8.0.2021120113","8.0.2021110701","8.0.2021050509","8.0.2020110500","8.0.2020101311","8.0.2020080406","8.0.2020062001","8.0.2020060210","8.0.2020051906","8.0.2020041601","8.0.2020031301","8.0.2020020501","8.0.2020011707","8.0.2019120501","8.0.2019111508","8.0.2019102506","8.0.2019101201","8.0.2019092701","8.0.2019091817","8.0.2019070812","8.0.2019070809","8.0.2019051307","8.0.2019043010","8.0.2019032901","8.0.2019032313","8.0.2019032311","8.0.2019022810","8.0.2019021416","8.0.2019012906","8.0.2018120508","8.0.2018102301","8.0.2018092101","8.0.2018082311","8.0.2018081616","8.0.2018071507","8.0.2018071312","8.0.2018062907","8.0.2018060901","8.0.2018050301","8.0.2018050201","8.0.2018031101","8.0.2018030101","8.0.2018022601","8.0.2018021101","8.0.2018011507","8.0.2017092000","8.0.2017021701","8.0.2017012516","8.0.2017012311","8.0.2017011711","8.0.2016082422","8.0.2016080812","8.0.2016070421","8.0.2016061011","8.0.0"],"description":"IBM MFP Adapter archetype for JavaScript adapter as a maven project. BuildNumber is : 8.0.2023020911"},{"artifactId":"adapter-maven-archetype-java","groupId":"com.ibm.mfp","versions":["8.0.2023020911","8.0.2023011113","8.0.2022121907","8.0.2022110300","8.0.2022090709","8.0.2022072713","8.0.2022062109","8.0.2022030307","8.0.2022013112","8.0.2021120113","8.0.2021110701","8.0.2021050509","8.0.2020110500","8.0.2020101311","8.0.2020080406","8.0.2020062001","8.0.2020060210","8.0.2020051906","8.0.2020041601","8.0.2020031301","8.0.2020020501","8.0.2020011707","8.0.2019120501","8.0.2019111508","8.0.2019102506","8.0.2019101201","8.0.2019092701","8.0.2019091817","8.0.2019070812","8.0.2019070809","8.0.2019051307","8.0.2019043010","8.0.2019032901","8.0.2019032313","8.0.2019032311","8.0.2019022810","8.0.2019021416","8.0.2019012906","8.0.2018120508","8.0.2018102301","8.0.2018092101","8.0.2018082311","8.0.2018081616","8.0.2018071507","8.0.2018071312","8.0.2018062907","8.0.2018060901","8.0.2018050301","8.0.2018050201","8.0.2018031101","8.0.2018030101","8.0.2018022601","8.0.2018021101","8.0.2018011507","8.0.2017092000","8.0.2017021701","8.0.2017012516","8.0.2017012311","8.0.2017011711","8.0.2016082422","8.0.2016080812","8.0.2016070421","8.0.2016061011","8.0.0"],"description":"IBM MFP Adapter archetype for Java adapter as a maven project. BuildNumber is : 8.0.2023020911"},{"artifactId":"adapter-maven-archetype-sql","groupId":"com.ibm.mfp","versions":["8.0.2023020911","8.0.2023011113","8.0.2022121907","8.0.2022110300","8.0.2022090709","8.0.2022072713","8.0.2022030307","8.0.2022013112","8.0.2021120113","8.0.2021110701","8.0.2021050509","8.0.2020110500","8.0.2020101311","8.0.2020080406","8.0.2020062001","8.0.2020060210","8.0.2020051906","8.0.2020041601","8.0.2020031301","8.0.2020020501","8.0.2020011707","8.0.2019120501","8.0.2019111508","8.0.2019102506","8.0.2019101201","8.0.2019092701","8.0.2019091817","8.0.2019070812","8.0.2019070809","8.0.2019051307","8.0.2019043010","8.0.2019032901","8.0.2019032313","8.0.2019032311","8.0.2019022810","8.0.2019021416","8.0.2019012906","8.0.2018120508","8.0.2018102301","8.0.2018092101","8.0.2018082311","8.0.2018081616","8.0.2018071507","8.0.2018071312","8.0.2018062907","8.0.2018060901","8.0.2018050301","8.0.2018050201","8.0.2018031101","8.0.2018030101","8.0.2018022601","8.0.2018021101","8.0.2018011507","8.0.2017092000","8.0.2017021701","8.0.2017012516","8.0.2017012311","8.0.2017011711","8.0.2016082422","8.0.2016080812","8.0.2016070421","8.0.2016061011","8.0.0"],"description":"IBM MFP Adapter archetype for sql adapter as a maven project. BuildNumber is : 8.0.2023020911"},{"artifactId":"sbt.sso.webapp-archetype","groupId":"com.ibm.sbt","versions":["1.0.1","1.1.9.20150917-1200","1.1.8.20150911-1400","1.1.7.20150908-1400","1.1.6.20150817-1200","1.1.5.20150520-1200","1.1.4.20150504-1700","1.1.3.20150220-1200","1.1.2.20141211-1200","1.1.12.20161007-1200","1.1.11.20151208-1200","1.1.10.20151002-1200","1.1.1.20141111-1200","1.1.0.20140717-1200","1.0.3.20140717-1200","1.0.2.20140527-1807"]},{"artifactId":"aem-maven-archetype","groupId":"com.icfolson.aem","versions":["4.0.0","3.0.0"],"description":"Maven archetype for AEM projects that utilize the ICF Olson AEM Library."},{"artifactId":"mind-map-plugin","groupId":"com.igormaznitsa","versions":["1.4.0","1.2.0"],"description":"Archetype to create base project of a NB mind map plugin"},{"artifactId":"mvn-golang-hello","groupId":"com.igormaznitsa","versions":["2.3.4","2.3.3","2.3.2","2.3.1","2.3.0","2.2.0","2.1.8","2.1.7","2.1.6","2.1.5","2.1.4","2.1.3","2.1.2","2.1.1","2.1.0","2.0.0"],"description":"Archetype generates a sample mvn-golang project"},{"artifactId":"mvn-golang-hello-multi","groupId":"com.igormaznitsa","versions":["2.3.4","2.3.3","2.3.2","2.3.1","2.3.0","2.2.0","2.1.8","2.1.7","2.1.6","2.1.5"],"description":"Archetype generates a sample multimodule mvn-golang project"},{"artifactId":"quickstart-boot-archetype","groupId":"com.indoqa.quickstart","versions":["0.15.0","0.14.0","0.13.0","0.11.0","0.10.0","0.9.0","0.8.0","0.8.0.1","0.11.0.1"],"description":"A quickstart for Java/React projects based on Indoqa Boot"},{"artifactId":"client-designer-gateway-archetype","groupId":"com.inductiveautomation.ignitionsdk","versions":["1.2.0","1.1.0","1.0.3","1.0.2","1.0.1"],"description":"Maven Archetype for an Ignition Client+Designer+Gateway Scope Module"},{"artifactId":"opc-ua-device-archetype","groupId":"com.inductiveautomation.ignitionsdk","versions":["1.2.0"],"description":"Maven Archetype for an Ignition OPC UA Device Module"},{"artifactId":"opc-ua-driver-archetype","groupId":"com.inductiveautomation.ignitionsdk","versions":["1.1.0","1.0.3","1.0.2"],"description":"Maven Archetype for an Ignition OPC-UA Driver Module"},{"artifactId":"vision-component-archetype","groupId":"com.inductiveautomation.ignitionsdk","versions":["1.2.0","1.1.0","1.0.3"],"description":"Maven Archetype for an Ignition Vision Module Component"},{"artifactId":"8R-basic-archetype","groupId":"com.infinityrefactoring","versions":["1.0"],"description":"A basic Maven Archetype for standalone application or libraries."},{"artifactId":"icecp-archetype","groupId":"com.intel.icecp","versions":["1.0"],"description":"Provides a template for generating starter ICECP-based projects; use `mvn archetype:generate\n -DarchetypeGroupId=com.intel.icecp -DarchetypeArtifactId=icecp-archetype -DarchetypeVersion=1.0`."},{"artifactId":"beedk-acs-allinone-archetype","groupId":"com.inteligr8.ootbee","versions":["1.0.17","1.0.16","1.0.15"]},{"artifactId":"beedk-acs-platform-module-archetype","groupId":"com.inteligr8.ootbee","versions":["1.0.17","1.0.16","1.0.15"]},{"artifactId":"beedk-acs-share-module-archetype","groupId":"com.inteligr8.ootbee","versions":["1.0.17","1.0.16","1.0.15"]},{"artifactId":"beedk-activiti-ext-archetype","groupId":"com.inteligr8.ootbee","versions":["1.0.17","1.0.16","1.0.15"]},{"artifactId":"beedk-ate-archetype","groupId":"com.inteligr8.ootbee","versions":["1.0.17","1.0.16","1.0.15"]},{"artifactId":"beedk-springboot-api-archetype","groupId":"com.inteligr8.ootbee","versions":["1.0.17","1.0.16","1.0.15"]},{"artifactId":"unity7-maven-archetype","groupId":"com.intellective.archetypes","versions":["1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Unity 7 Archetype allows to create a structure for the application project based on the platform.\n It includes multi-module Maven project, a module for handling configuration, and\n the Docker image module."},{"artifactId":"iom-project-archetype","groupId":"com.intershop.oms.archetype","versions":["2.3.0","2.2.0","2.1.0","2.0.0","1.0.1","1.0.0"],"description":"A maven-archetype to bootstrap new projects for Intershop Order Management."},{"artifactId":"benten-archetype","groupId":"com.intuit.benten","versions":["0.1.5","0.1.4","0.1.3","0.1.2","0.1.1","0.1.0"]},{"artifactId":"karate-archetype","groupId":"com.intuit.karate","versions":["1.3.1","1.3.0","1.2.0","1.1.0","1.0.1","1.0.0","0.9.6","0.9.5","0.9.4","0.9.3","0.9.2","0.9.1","0.9.0","0.8.0","0.7.0","0.6.2","0.6.1","0.6.0","0.5.0","0.4.3","0.4.2","0.4.1","0.4.0","0.3.1","0.3.0","0.2.9","0.2.8","0.2.7","0.2.6","0.2.5","0.2.4","0.2.3","0.2.2","0.2.1","0.2.0","0.1.6","0.1.5","0.1.4","0.1.3","0.1.2","0.1.1","0.1.0","1.4.0.RC3","1.4.0.RC2","1.4.0.RC1","1.3.0.RC2","1.3.0.RC1","1.2.1.RC2","1.2.0.RC6","1.2.0.RC5","1.2.0.RC4","1.2.0.RC3","1.2.0.RC2","1.2.0.RC1","1.1.0.RC5","1.1.0.RC4","1.1.0.RC3","1.1.0.RC2","1.1.0.RC1","0.9.9.RC4","0.9.9.RC3","0.9.9.RC2","0.9.9.RC1","0.9.6.RC4","0.9.6.RC3","0.9.6.RC2","0.9.6.RC1","0.9.5.RC5","0.9.5.RC4","0.9.5.RC3","0.9.5.RC2","0.9.5.RC1","0.9.3.RC2","0.9.3.RC1","0.9.0.RC5","0.9.0.RC4","0.9.0.RC3","0.9.0.RC2","0.9.0.RC2.1","0.9.0.RC1","0.8.0.RC9","0.8.0.RC8","0.8.0.RC7","0.8.0.RC6","0.8.0.RC5","0.8.0.RC4","0.8.0.RC3","0.8.0.RC2","0.8.0.RC1","0.8.0.1","0.7.0.RC9","0.7.0.RC9.1","0.7.0.RC8","0.7.0.RC7","0.7.0.RC6","0.7.0.RC5","0.7.0.RC4","0.7.0.RC3","0.7.0.RC2","0.7.0.RC1","0.7.0.2","0.7.0.1","0.6.2.3","0.6.2.2","0.6.2.1","0.6.1.2","0.6.1.1","0.6.0.9","0.6.0.8","0.6.0.7","0.6.0.6","0.6.0.5","0.6.0.4","0.6.0.3","0.6.0.2","0.6.0.1","0.5.0.9","0.5.0.8","0.5.0.7","0.5.0.6","0.5.0.5","0.5.0.4","0.5.0.3","0.5.0.2","0.5.0.1","0.5.0.11","0.5.0.10","0.4.3.4","0.4.3.3","0.4.3.2","0.4.3.1","0.4.1.2","0.4.1.1","0.4.0.1","0.3.0.2","0.3.0.1","0.2.9.1","0.2.8.2","0.2.8.1"]},{"artifactId":"spring-pulsar-core","groupId":"com.intuit.pulsar","versions":["1.0.0"],"description":"Spring For Apache Pulsar allows any java/kotlin application to easily integrate with Apache Pulsar\n avoiding boilerplate code. It supports configuration and annotation based creation of pulsar components."},{"artifactId":"iobeam-spark-scala-maven-archetype","groupId":"com.iobeam","versions":["0.12","0.11","0.10","0.9","0.8","0.7","0.6","0.5"],"description":"Maven archetype to set up an iobeam spark app project."},{"artifactId":"fluffyj.archetype","groupId":"com.itemis","versions":["1.15.0","1.14.0","1.13.0","1.12.0","1.11.0","1.10.0","1.9.0","1.8.0","1.7.0","1.10.1.DONOTUSE","1.10.0.DONOTUSE"],"description":"An improved variety of a Maven Java project archetype. Extra fluffy ❤"},{"artifactId":"smart-cloud-micro-service-archtype","groupId":"com.jalalkiswani","versions":["4.0.8"],"description":"Template Project for Smart-Cloud MicroService"},{"artifactId":"smart-cloud-web-archtype","groupId":"com.jalalkiswani","versions":["4.0.8"],"description":"Template Project for Smart-Cloud Web"},{"artifactId":"smart-cloud-webstack-archtype","groupId":"com.jalalkiswani","versions":["4.0.8-1","4.0.8"],"description":"Template Project for Smart-Cloud WebStack"},{"artifactId":"jit-adapter-archetype","groupId":"com.jamcracker.adapter.jit","versions":["1.2","1.0.1-BETA","1.0-BETA"]},{"artifactId":"webjar-quickstart-archetype","groupId":"com.jarredweb.repo","versions":["0.2-beta"],"description":"A quick-start template project that uses the webjar framework"},{"artifactId":"greenlighter","groupId":"com.javanut","versions":["1.1.24","1.1.14","1.1.13","1.1.12","1.1.11","1.1.10","1.1.9","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0"],"description":"A Maven archetype for GreenLightning projects"},{"artifactId":"pronghorn-ranch","groupId":"com.javanut","versions":["1.1.27","1.1.26","1.1.25","1.1.24","1.1.23","1.1.22","1.1.21","1.1.20","1.1.19","1.1.18","1.1.17","1.1.16","1.1.15","1.1.14","1.1.13","1.1.12","1.1.11","1.1.10","1.1.9","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0"],"description":"A Maven Archetype for Pronghorn projects"},{"artifactId":"struts2-jquery-archetype-base","groupId":"com.jgeppert.struts2.jquery","versions":["5.0.2","5.0.1","5.0.0","4.0.3","4.0.2","4.0.1","3.7.1","3.7.0","3.6.1","3.6.0","3.5.1","3.5.0","3.4.0","3.3.3","3.3.2","3.3.1","3.3.0"],"description":"This Archetype provides a Webapp Configuration ready for the Struts2 jQuery Plugin."},{"artifactId":"struts2-jquery-archetype-mobile","groupId":"com.jgeppert.struts2.jquery","versions":["5.0.2","5.0.1","5.0.0","4.0.3","4.0.2","4.0.1","3.7.1","3.7.0","3.6.1","3.6.0","3.5.1","3.5.0","3.4.0"],"description":"This Archetype provides a Webapp Configuration ready for the Struts2 jQuery Mobile Plugin."},{"artifactId":"struts2-jquery-bootstrap-archetype-grid","groupId":"com.jgeppert.struts2.jquery","versions":["5.0.2","5.0.1","5.0.0","4.0.3","4.0.2","4.0.1","3.7.1","3.7.0","3.6.1","3.6.0","3.5.1","3.5.0","3.4.0","3.3.3","3.3.2","3.3.1","3.3.0"],"description":"This Archetype provides a Webapp Configuration ready for the Struts2 jQuery Grid Plugin and the Struts2\n Bootstrap Plugin."},{"artifactId":"jsmart-aa-archetype","groupId":"com.jsmartframework","versions":["1.0.0"],"description":"Maven archetype to create web project based on JSmart with authentication and authorization"},{"artifactId":"jsmart-async-archetype","groupId":"com.jsmartframework","versions":["1.0.0"],"description":"Maven archetype to create web project based on JSmart with Server Sent Events"},{"artifactId":"jsmart-basic-archetype","groupId":"com.jsmartframework","versions":["1.0.0"],"description":"Maven archetype to create basic web project based on JSmart"},{"artifactId":"jsmart-file-archetype","groupId":"com.jsmartframework","versions":["1.0.0"],"description":"Maven archetype to create web project based on JSmart with file upload and download"},{"artifactId":"jsmart-path-archetype","groupId":"com.jsmartframework","versions":["1.0.0"],"description":"Maven archetype to create web project based on JSmart with dynamic path control"},{"artifactId":"jsmart-rest-archetype","groupId":"com.jsmartframework","versions":["1.0.0"],"description":"Maven archetype to create web project based on JSmart with Spring MVC integration"},{"artifactId":"jsmart-scroll-archetype","groupId":"com.jsmartframework","versions":["1.0.0"],"description":"Maven archetype to create web project based on JSmart with table and list scroll control"},{"artifactId":"sparkjava-archetype","groupId":"com.juliaaano","versions":["1.0.0"],"description":"."},{"artifactId":"panda-archetype-boot","groupId":"com.justtoplay.panda","versions":["1.0.2"],"description":"spring boot archetype package"},{"artifactId":"panda-archetype-cloud","groupId":"com.justtoplay.panda","versions":["1.0.2"],"description":"spring cloud archetype package"},{"artifactId":"pragmatach-archetype","groupId":"com.khubla.pragmatach","versions":["1.42.0","1.40"]},{"artifactId":"mule4-api-archetype","groupId":"com.kloudtek.mule","versions":["0.9.7","0.9.6","0.9.5","0.9.4","0.9.3","0.9.2","0.9.1","0.9.0"],"description":"Maven Archetype for creating a mule 4 API project"},{"artifactId":"kodnito-jakartaee-archetype","groupId":"com.kodnito","versions":["1.0.5","1.0.4","1.0.3","1.0.2","1.0.1"],"description":"Jakarta EE Maven project template"},{"artifactId":"kodnito-microprofile-archetype","groupId":"com.kodnito","versions":["1.0.3","1.0.2","1.0.1","1.0.0"],"description":"MicroProfile Maven project template"},{"artifactId":"ddla-archetype","groupId":"com.lazycece.ddla","versions":["1.0.0"],"description":"Domain driven design layered architecture"},{"artifactId":"com.ledgefarm.core","groupId":"com.ledgefarm.core","versions":["1.0.1909111043"],"description":"Transfer money outside with private tokens"},{"artifactId":"com.liferay.project.templates.activator","groupId":"com.liferay","versions":["1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay module project that customizes the starting and stopping of a Liferay bundle."},{"artifactId":"com.liferay.project.templates.api","groupId":"com.liferay","versions":["1.0.185","1.0.184","1.0.183","1.0.182","1.0.181","1.0.180","1.0.179","1.0.178","1.0.177","1.0.176","1.0.175","1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay API module project with an empty public interface."},{"artifactId":"com.liferay.project.templates.content.targeting.report","groupId":"com.liferay","versions":["1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay Audience Targeting report as a module project."},{"artifactId":"com.liferay.project.templates.content.targeting.rule","groupId":"com.liferay","versions":["1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay Audience Targeting rule as a module project."},{"artifactId":"com.liferay.project.templates.content.targeting.tracking.action","groupId":"com.liferay","versions":["1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay Audience Targeting metric as a module project."},{"artifactId":"com.liferay.project.templates.control.menu.entry","groupId":"com.liferay","versions":["1.0.183","1.0.182","1.0.181","1.0.180","1.0.179","1.0.178","1.0.177","1.0.176","1.0.175","1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay module project that customizes Liferay Portal's Control Menu."},{"artifactId":"com.liferay.project.templates.form.field","groupId":"com.liferay","versions":["1.0.185","1.0.184","1.0.183","1.0.182","1.0.181","1.0.180","1.0.179","1.0.178","1.0.177","1.0.176","1.0.175","1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay form field module project."},{"artifactId":"com.liferay.project.templates.fragment","groupId":"com.liferay","versions":["1.0.182","1.0.181","1.0.180","1.0.179","1.0.178","1.0.177","1.0.176","1.0.175","1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay fragment module project that customizes existing Liferay modules."},{"artifactId":"com.liferay.project.templates.freemarker.portlet","groupId":"com.liferay","versions":["1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a FreeMarker portlet as a module project."},{"artifactId":"com.liferay.project.templates.layout.template","groupId":"com.liferay","versions":["1.0.179","1.0.178","1.0.177","1.0.176","1.0.175","1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay layout template module project."},{"artifactId":"com.liferay.project.templates.modules.ext","groupId":"com.liferay","versions":["1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay Modules Ext project that overrides an existing Liferay module."},{"artifactId":"com.liferay.project.templates.mvc.portlet","groupId":"com.liferay","versions":["1.0.180","1.0.179","1.0.178","1.0.177","1.0.176","1.0.175","1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay MVC portlet as a module project."},{"artifactId":"com.liferay.project.templates.npm.angular.portlet","groupId":"com.liferay","versions":["1.0.178","1.0.177","1.0.176","1.0.175","1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay MVC portlet with NPM and Angular support as a module project."},{"artifactId":"com.liferay.project.templates.npm.billboardjs.portlet","groupId":"com.liferay","versions":["1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay MVC portlet with npm and Billboard.js support as a module project."},{"artifactId":"com.liferay.project.templates.npm.isomorphic.portlet","groupId":"com.liferay","versions":["1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay MVC portlet with npm and isomorphic code support as a module project."},{"artifactId":"com.liferay.project.templates.npm.jquery.portlet","groupId":"com.liferay","versions":["1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay MVC portlet with npm and jQuery support as a module project."},{"artifactId":"com.liferay.project.templates.npm.metaljs.portlet","groupId":"com.liferay","versions":["1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay MVC portlet with npm and Metal.js support as a module project."},{"artifactId":"com.liferay.project.templates.npm.portlet","groupId":"com.liferay","versions":["1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay MVC portlet with npm support as a module project."},{"artifactId":"com.liferay.project.templates.npm.react.portlet","groupId":"com.liferay","versions":["1.0.179","1.0.178","1.0.177","1.0.176","1.0.175","1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay MVC portlet with NPM and React support as a module project."},{"artifactId":"com.liferay.project.templates.npm.vuejs.portlet","groupId":"com.liferay","versions":["1.0.178","1.0.177","1.0.176","1.0.175","1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay MVC portlet with NPM and Vue.js support as a module project."},{"artifactId":"com.liferay.project.templates.panel.app","groupId":"com.liferay","versions":["1.0.180","1.0.179","1.0.178","1.0.177","1.0.176","1.0.175","1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay panel app that customizes a panel category (e.g., Control Panel) by inserting an entry that gives access to an application."},{"artifactId":"com.liferay.project.templates.portlet","groupId":"com.liferay","versions":["1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay portlet extending the \"javax.portlet.GenericPortlet\" class as a module project."},{"artifactId":"com.liferay.project.templates.portlet.configuration.icon","groupId":"com.liferay","versions":["1.0.180","1.0.179","1.0.178","1.0.177","1.0.176","1.0.175","1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay module project that customizes a Liferay portlet's configuration icon."},{"artifactId":"com.liferay.project.templates.portlet.provider","groupId":"com.liferay","versions":["1.0.180","1.0.179","1.0.178","1.0.177","1.0.176","1.0.175","1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay module project that finds appropriate portlets to manage requests."},{"artifactId":"com.liferay.project.templates.portlet.toolbar.contributor","groupId":"com.liferay","versions":["1.0.180","1.0.179","1.0.178","1.0.177","1.0.176","1.0.175","1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay module project that customizes a Liferay portlet's toolbar."},{"artifactId":"com.liferay.project.templates.rest","groupId":"com.liferay","versions":["1.0.183","1.0.182","1.0.181","1.0.180","1.0.179","1.0.178","1.0.177","1.0.176","1.0.175","1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay JAX-RS module project."},{"artifactId":"com.liferay.project.templates.rest.builder","groupId":"com.liferay","versions":["1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay REST Builder project by generating an API and implementation module."},{"artifactId":"com.liferay.project.templates.service","groupId":"com.liferay","versions":["1.0.179","1.0.178","1.0.177","1.0.176","1.0.175","1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay OSGi service module project implementing a chosen interface."},{"artifactId":"com.liferay.project.templates.service.builder","groupId":"com.liferay","versions":["1.0.181","1.0.180","1.0.179","1.0.178","1.0.177","1.0.176","1.0.175","1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay Service Builder project by generating an API and implementation module."},{"artifactId":"com.liferay.project.templates.service.wrapper","groupId":"com.liferay","versions":["1.0.178","1.0.177","1.0.176","1.0.175","1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay service wrapper module project extending a chosen service wrapper class."},{"artifactId":"com.liferay.project.templates.simulation.panel.entry","groupId":"com.liferay","versions":["1.0.178","1.0.177","1.0.176","1.0.175","1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay panel app module project that customizes Liferay Portal's Simulation Menu."},{"artifactId":"com.liferay.project.templates.social.bookmark","groupId":"com.liferay","versions":["1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay social bookmark module project that adds a new sharing platform."},{"artifactId":"com.liferay.project.templates.soy.portlet","groupId":"com.liferay","versions":["1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay Soy portlet as a module project."},{"artifactId":"com.liferay.project.templates.spring.mvc.portlet","groupId":"com.liferay","versions":["1.0.178","1.0.177","1.0.176","1.0.175","1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Spring MVC portlet as a WAR project."},{"artifactId":"com.liferay.project.templates.template.context.contributor","groupId":"com.liferay","versions":["1.0.178","1.0.177","1.0.176","1.0.175","1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay module project that injects custom non-JSP template variables into Liferay Portal."},{"artifactId":"com.liferay.project.templates.theme","groupId":"com.liferay","versions":["1.0.179","1.0.178","1.0.177","1.0.176","1.0.175","1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay WAR-style theme project."},{"artifactId":"com.liferay.project.templates.theme.contributor","groupId":"com.liferay","versions":["1.0.177","1.0.176","1.0.175","1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay module project that packages UI resources (e.g., CSS and JS) independent of a theme to include on a Liferay Portal page."},{"artifactId":"com.liferay.project.templates.war.core.ext","groupId":"com.liferay","versions":["1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay WAR-style Core Ext project."},{"artifactId":"com.liferay.project.templates.war.hook","groupId":"com.liferay","versions":["1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay WAR-style Hook project."},{"artifactId":"com.liferay.project.templates.war.mvc.portlet","groupId":"com.liferay","versions":["1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay WAR-style MVC portlet project."},{"artifactId":"com.liferay.project.templates.workspace","groupId":"com.liferay","versions":["1.0.188","1.0.187","1.0.186","1.0.185","1.0.184","1.0.183","1.0.182","1.0.181","1.0.180","1.0.179","1.0.178","1.0.177","1.0.176","1.0.175","1.0.174","1.0.173","1.0.172","1.0.171","1.0.170","1.0.169","1.0.168","1.0.167","1.0.166","1.0.165","1.0.164","1.0.163","1.0.162","1.0.161","1.0.160","1.0.159","1.0.158","1.0.157","1.0.156","1.0.155","1.0.154","1.0.153","1.0.152","1.0.151","1.0.150","1.0.149","1.0.148","1.0.147","1.0.146","1.0.145","1.0.144","1.0.143","1.0.142","1.0.141","1.0.140","1.0.139","1.0.138","1.0.137","1.0.136","1.0.135","1.0.134","1.0.133","1.0.132","1.0.131","1.0.130","1.0.129","1.0.128","1.0.127","1.0.126","1.0.125","1.0.124","1.0.123","1.0.122","1.0.121","1.0.120","1.0.119","1.0.118","1.0.117","1.0.116","1.0.115","1.0.114","1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.105","1.0.104","1.0.103","1.0.102","1.0.101","1.0.100","1.0.99","1.0.98","1.0.97","1.0.96","1.0.95","1.0.94","1.0.93","1.0.92","1.0.91","1.0.90","1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.75","1.0.74","1.0.73","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a Liferay Workspace project usable by Gradle and Maven build tools."},{"artifactId":"com.liferay.project.templates.activator","groupId":"com.liferay.blade","versions":["1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"]},{"artifactId":"com.liferay.project.templates.content.targeting.report","groupId":"com.liferay.blade","versions":["1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"]},{"artifactId":"com.liferay.project.templates.content.targeting.rule","groupId":"com.liferay.blade","versions":["1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"]},{"artifactId":"com.liferay.project.templates.content.targeting.tracking.action","groupId":"com.liferay.blade","versions":["1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"]},{"artifactId":"com.liferay.project.templates.freemarker.portlet","groupId":"com.liferay.blade","versions":["1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"]},{"artifactId":"com.liferay.project.templates.js.theme","groupId":"com.liferay.blade","versions":["1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"]},{"artifactId":"com.liferay.project.templates.js.widget","groupId":"com.liferay.blade","versions":["1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"]},{"artifactId":"com.liferay.project.templates.social.bookmark","groupId":"com.liferay.blade","versions":["1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"]},{"artifactId":"com.liferay.faces.archetype.adf.portlet","groupId":"com.liferay.faces.archetype","versions":["8.0.0","7.0.0","6.1.0","5.1.0"],"description":"Maven archetype for a Liferay ADF portlet"},{"artifactId":"com.liferay.faces.archetype.alloy.portlet","groupId":"com.liferay.faces.archetype","versions":["8.0.0","7.0.0","6.1.1","6.1.0","6.0.0","5.1.1","5.1.0","5.0.8","5.0.7","5.0.6","5.0.5","5.0.4","5.0.3","5.0.2","5.0.1","5.0.0","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0"],"description":"Maven archetype for a Liferay Faces Alloy portlet"},{"artifactId":"com.liferay.faces.archetype.bootsfaces.portlet","groupId":"com.liferay.faces.archetype","versions":["8.0.0","7.0.0","6.1.1","6.1.0","6.0.0","5.1.1","5.1.0","5.0.5","5.0.4","5.0.3","5.0.2","5.0.1","5.0.0"],"description":"Maven archetype for a Liferay BootsFaces portlet"},{"artifactId":"com.liferay.faces.archetype.butterfaces.portlet","groupId":"com.liferay.faces.archetype","versions":["8.0.0","7.0.0","6.1.1","6.1.0","6.0.0","5.1.1","5.1.0","5.0.5","5.0.4","5.0.3","5.0.2","5.0.1","5.0.0"],"description":"Maven archetype for a Liferay ButterFaces portlet"},{"artifactId":"com.liferay.faces.archetype.icefaces.portlet","groupId":"com.liferay.faces.archetype","versions":["8.0.0","7.0.0","6.1.1","6.1.0","6.0.0","5.1.1","5.1.0","5.0.7","5.0.6","5.0.5","5.0.4","5.0.3","5.0.2","5.0.1","5.0.0","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0"],"description":"Maven archetype for a Liferay ICEFaces portlet"},{"artifactId":"com.liferay.faces.archetype.jsf.portlet","groupId":"com.liferay.faces.archetype","versions":["8.0.0","7.0.0","6.1.1","6.1.0","6.0.0","5.1.1","5.1.0","5.0.7","5.0.6","5.0.5","5.0.4","5.0.3","5.0.2","5.0.1","5.0.0","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0"],"description":"Maven archetype for a Liferay JSF portlet"},{"artifactId":"com.liferay.faces.archetype.primefaces.portlet","groupId":"com.liferay.faces.archetype","versions":["8.0.0","7.0.0","6.1.1","6.1.0","6.0.0","5.1.1","5.1.0","5.0.7","5.0.6","5.0.5","5.0.4","5.0.3","5.0.2","5.0.1","5.0.0","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0"],"description":"Maven archetype for a Liferay PrimeFaces portlet"},{"artifactId":"com.liferay.faces.archetype.richfaces.portlet","groupId":"com.liferay.faces.archetype","versions":["8.0.0","7.0.0","6.1.1","6.1.0","6.0.0","5.1.1","5.1.0","5.0.8","5.0.7","5.0.6","5.0.5","5.0.4","5.0.3","5.0.2","5.0.1","5.0.0","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.0.6","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0"],"description":"Maven archetype for a Liferay RichFaces portlet"},{"artifactId":"liferay-ext-archetype","groupId":"com.liferay.maven.archetypes","versions":["7.0.0-m2","7.0.0-m1","6.2.5","6.2.4","6.2.2","6.2.1","6.2.0-ga1","6.2.0-RC5","6.2.0-RC4","6.2.0-RC3","6.2.0-RC2","6.2.0-RC1","6.2.0-M6","6.2.0-M5","6.2.0-B3","6.2.0-B2","6.2.0-B1","6.1.30","6.1.20","6.1.10","6.1.2","6.1.1","6.1.0","6.2.10.9","6.2.10.8","6.2.10.7","6.2.10.6","6.2.10.5","6.2.10.4","6.2.10.16","6.2.10.15","6.2.10.14","6.2.10.13","6.2.10.12","6.2.10.11","6.2.10.10","6.1.30.1"],"description":"Provides an archetype to create Liferay extensions."},{"artifactId":"liferay-hook-archetype","groupId":"com.liferay.maven.archetypes","versions":["7.0.0-m2","7.0.0-m1","6.2.5","6.2.4","6.2.2","6.2.1","6.2.0-ga1","6.2.0-RC5","6.2.0-RC4","6.2.0-RC3","6.2.0-RC2","6.2.0-RC1","6.2.0-M6","6.2.0-M5","6.2.0-B3","6.2.0-B2","6.2.0-B1","6.1.30","6.1.20","6.1.10","6.1.2","6.1.1","6.1.0","6.2.10.9","6.2.10.8","6.2.10.7","6.2.10.6","6.2.10.5","6.2.10.4","6.2.10.16","6.2.10.15","6.2.10.14","6.2.10.13","6.2.10.12","6.2.10.11","6.2.10.10","6.1.30.1"],"description":"Provides an archetype to create Liferay hooks."},{"artifactId":"liferay-layouttpl-archetype","groupId":"com.liferay.maven.archetypes","versions":["7.0.0-m2","7.0.0-m1","6.2.5","6.2.4","6.2.2","6.2.1","6.2.0-ga1","6.2.0-RC5","6.2.0-RC4","6.2.0-RC3","6.2.0-RC2","6.2.0-RC1","6.2.0-M6","6.2.0-M5","6.2.0-B3","6.2.0-B2","6.2.0-B1","6.1.30","6.1.20","6.1.10","6.1.2","6.1.1","6.1.0","6.0.6","6.0.5","6.0.4","6.0.3","6.0.2","6.2.10.9","6.2.10.8","6.2.10.7","6.2.10.6","6.2.10.5","6.2.10.4","6.2.10.16","6.2.10.15","6.2.10.14","6.2.10.13","6.2.10.12","6.2.10.11","6.2.10.10","6.1.30.1"],"description":"Provides an archetype to create Liferay layout templates."},{"artifactId":"liferay-portlet-archetype","groupId":"com.liferay.maven.archetypes","versions":["7.0.0-m2","7.0.0-m1","6.2.5","6.2.4","6.2.2","6.2.1","6.2.0-ga1","6.2.0-RC5","6.2.0-RC4","6.2.0-RC3","6.2.0-RC2","6.2.0-RC1","6.2.0-M6","6.2.0-M5","6.2.0-B3","6.2.0-B2","6.2.0-B1","6.1.30","6.1.20","6.1.10","6.1.2","6.1.1","6.1.0","6.0.6","6.0.5","6.0.4","6.0.3","6.0.2","6.2.10.9","6.2.10.8","6.2.10.7","6.2.10.6","6.2.10.5","6.2.10.4","6.2.10.16","6.2.10.15","6.2.10.14","6.2.10.13","6.2.10.12","6.2.10.11","6.2.10.10","6.1.30.1"],"description":"Provides an archetype to create Liferay portlets."},{"artifactId":"liferay-portlet-icefaces-archetype","groupId":"com.liferay.maven.archetypes","versions":["7.0.0-m2","7.0.0-m1","6.2.5","6.2.4","6.2.2","6.2.1","6.2.0-RC5","6.2.0-RC4","6.2.0-RC3","6.2.0-RC2","6.2.0-RC1","6.2.0-M6","6.2.0-M5","6.2.0-B3","6.2.0-B2","6.2.0-B1","6.1.30","6.1.20","6.1.2","6.1.1","6.2.10.9","6.2.10.8","6.2.10.7","6.2.10.6","6.2.10.5","6.2.10.4","6.2.10.16","6.2.10.15","6.2.10.14","6.2.10.13","6.2.10.12","6.2.10.11","6.2.10.10","6.1.30.1"],"description":"Provides an archetype to create Liferay ICEfaces portlets."},{"artifactId":"liferay-portlet-jsf-archetype","groupId":"com.liferay.maven.archetypes","versions":["7.0.0-m2","7.0.0-m1","6.2.5","6.2.4","6.2.2","6.2.1","6.2.0-ga1","6.2.0-RC5","6.2.0-RC4","6.2.0-RC3","6.2.0-RC2","6.2.0-RC1","6.2.0-M6","6.2.0-M5","6.2.0-B3","6.2.0-B2","6.2.0-B1","6.1.30","6.1.20","6.1.2","6.1.1","6.2.10.9","6.2.10.8","6.2.10.7","6.2.10.6","6.2.10.5","6.2.10.4","6.2.10.16","6.2.10.15","6.2.10.14","6.2.10.13","6.2.10.12","6.2.10.11","6.2.10.10","6.1.30.1"],"description":"Provides an archetype to create Liferay JSF portlets."},{"artifactId":"liferay-portlet-liferay-faces-alloy-archetype","groupId":"com.liferay.maven.archetypes","versions":["7.0.0-m2","7.0.0-m1","6.2.5","6.2.4","6.2.2","6.2.1","6.2.0-ga1","6.2.0-RC5","6.2.0-RC4","6.2.0-RC3","6.2.0-RC2","6.2.0-RC1","6.2.0-M6","6.2.0-M5","6.2.0-B3","6.2.0-B2","6.2.0-B1","6.1.30","6.1.20","6.1.2","6.1.1","6.2.10.9","6.2.10.8","6.2.10.7","6.2.10.6","6.2.10.5","6.2.10.4","6.2.10.16","6.2.10.15","6.2.10.14","6.2.10.13","6.2.10.12","6.2.10.11","6.2.10.10","6.1.30.1"],"description":"Provides an archetype to create Liferay Faces Alloy portlets."},{"artifactId":"liferay-portlet-primefaces-archetype","groupId":"com.liferay.maven.archetypes","versions":["7.0.0-m2","7.0.0-m1","6.2.5","6.2.4","6.2.2","6.2.1","6.2.0-ga1","6.2.0-RC5","6.2.0-RC4","6.2.0-RC3","6.2.0-RC2","6.2.0-RC1","6.2.0-M6","6.2.0-M5","6.2.0-B3","6.2.0-B2","6.2.0-B1","6.1.30","6.1.20","6.1.2","6.1.1","6.2.10.9","6.2.10.8","6.2.10.7","6.2.10.6","6.2.10.5","6.2.10.4","6.2.10.16","6.2.10.15","6.2.10.14","6.2.10.13","6.2.10.12","6.2.10.11","6.2.10.10","6.1.30.1"],"description":"Provides an archetype to create Liferay PrimeFaces portlets."},{"artifactId":"liferay-portlet-richfaces-archetype","groupId":"com.liferay.maven.archetypes","versions":["7.0.0-m2","7.0.0-m1","6.2.5","6.2.4","6.2.2","6.2.1","6.2.0-ga1","6.2.0-RC5","6.2.0-RC4","6.2.0-RC3","6.2.0-RC2","6.2.0-RC1","6.2.0-M6","6.2.0-M5","6.2.0-B3","6.2.0-B2","6.2.0-B1","6.1.30","6.1.20","6.1.2","6.1.1","6.2.10.9","6.2.10.8","6.2.10.7","6.2.10.6","6.2.10.5","6.2.10.4","6.2.10.16","6.2.10.15","6.2.10.14","6.2.10.13","6.2.10.12","6.2.10.11","6.2.10.10","6.1.30.1"],"description":"Provides an archetype to create Liferay RichFaces portlets."},{"artifactId":"liferay-portlet-spring-mvc-archetype","groupId":"com.liferay.maven.archetypes","versions":["6.2.5","6.2.4","6.2.10.16","6.2.10.15","6.2.10.14","6.2.10.13","6.2.10.12"],"description":"Provides an archetype to create Liferay Spring MVC portlets."},{"artifactId":"liferay-servicebuilder-archetype","groupId":"com.liferay.maven.archetypes","versions":["7.0.0-m2","7.0.0-m1","6.2.5","6.2.4","6.2.2","6.2.1","6.2.0-ga1","6.2.0-RC5","6.2.0-RC4","6.2.0-RC3","6.2.0-RC2","6.2.0-RC1","6.2.0-M6","6.2.0-M5","6.2.0-B3","6.2.0-B2","6.2.0-B1","6.1.30","6.1.20","6.1.10","6.1.2","6.1.1","6.1.0","6.2.10.9","6.2.10.8","6.2.10.7","6.2.10.6","6.2.10.5","6.2.10.4","6.2.10.16","6.2.10.15","6.2.10.14","6.2.10.13","6.2.10.12","6.2.10.11","6.2.10.10","6.1.30.1"],"description":"Provides an archetype to create Liferay Service Builder portlets."},{"artifactId":"liferay-theme-archetype","groupId":"com.liferay.maven.archetypes","versions":["7.0.0-m2","7.0.0-m1","6.2.5","6.2.4","6.2.2","6.2.1","6.2.0-ga1","6.2.0-RC5","6.2.0-RC4","6.2.0-RC3","6.2.0-RC2","6.2.0-RC1","6.2.0-M6","6.2.0-M5","6.2.0-B3","6.2.0-B2","6.2.0-B1","6.1.30","6.1.20","6.1.10","6.1.2","6.1.1","6.1.0","6.0.6","6.0.5","6.0.4","6.0.3","6.0.2","6.2.10.9","6.2.10.8","6.2.10.7","6.2.10.6","6.2.10.5","6.2.10.4","6.2.10.16","6.2.10.15","6.2.10.14","6.2.10.13","6.2.10.12","6.2.10.11","6.2.10.10","6.1.30.1"],"description":"Provides an archetype to create Liferay themes."},{"artifactId":"liferay-web-archetype","groupId":"com.liferay.maven.archetypes","versions":["7.0.0-m2","7.0.0-m1","6.2.5","6.2.4","6.2.2","6.2.1","6.2.0-ga1","6.2.0-RC5","6.2.0-RC4","6.2.0-RC3","6.2.0-RC2","6.2.0-RC1","6.2.0-M6","6.2.0-M5","6.2.0-B3","6.2.0-B2","6.2.0-B1","6.1.30","6.1.20","6.1.10","6.1.2","6.1.1","6.1.0","6.2.10.9","6.2.10.8","6.2.10.7","6.2.10.6","6.2.10.5","6.2.10.4","6.2.10.16","6.2.10.15","6.2.10.14","6.2.10.13","6.2.10.12","6.2.10.11","6.2.10.10","6.1.30.1"],"description":"Provides an archetype to create Liferay webs."},{"artifactId":"com.liferay.portletmvc4spring.archetype.form.jsp.portlet","groupId":"com.liferay.portletmvc4spring.archetype","versions":["5.3.2","5.3.1","5.3.0","5.2.3","5.2.2","5.2.1","5.2.0","5.1.4","5.1.3","5.1.2","5.1.1","5.1.0"],"description":"Maven archetype for PortletMVC4Spring with JSP form views"},{"artifactId":"com.liferay.portletmvc4spring.archetype.form.thymeleaf.portlet","groupId":"com.liferay.portletmvc4spring.archetype","versions":["5.3.2","5.3.1","5.3.0","5.2.3","5.2.2","5.2.1","5.2.0","5.1.4","5.1.3","5.1.2","5.1.1","5.1.0"],"description":"Maven archetype for PortletMVC4Spring with Thymeleaf form views"},{"artifactId":"cloudflow-maven-archetype","groupId":"com.lightbend.cloudflow","versions":["2.3.2","2.3.2-NIGHTLY20221003","2.3.2-NIGHTLY20220926","2.3.2-NIGHTLY20220919","2.3.2-NIGHTLY20220912","2.3.2-NIGHTLY20220905","2.3.2-NIGHTLY20220829","2.3.2-NIGHTLY20220822","2.3.2-NIGHTLY20220815","2.3.1","2.3.1-RC3","2.3.1-RC2","2.3.1-RC1","2.3.1-RC0","2.3.1-RC01","2.3.1-NIGHTLY20220808","2.3.1-NIGHTLY20220801","2.3.1-NIGHTLY20220725","2.3.1-NIGHTLY20220718","2.3.1-NIGHTLY20220711","2.3.1-NIGHTLY20220704","2.3.1-NIGHTLY20220627","2.3.1-NIGHTLY20220620","2.3.1-NIGHTLY20220613","2.3.1-NIGHTLY20220606","2.3.1-NIGHTLY20220530","2.3.1-NIGHTLY20220523","2.3.1-NIGHTLY20220516","2.3.1-NIGHTLY20220509","2.3.1-NIGHTLY20220502","2.3.1-NIGHTLY20220425","2.3.1-NIGHTLY20220418","2.3.1-NIGHTLY20220411","2.3.0","2.3.0-try-stack-size-1","2.3.0-RC9","2.3.0-RC8","2.3.0-RC4","2.3.0-RC3","2.3.0-RC36","2.3.0-RC35","2.3.0-RC34","2.3.0-RC33","2.3.0-RC32","2.3.0-RC31","2.3.0-RC30","2.3.0-RC2","2.3.0-RC29","2.3.0-RC28","2.3.0-RC27","2.3.0-RC26","2.3.0-RC25","2.3.0-RC24","2.3.0-RC23","2.3.0-RC22","2.3.0-RC21","2.3.0-RC20","2.3.0-RC1","2.3.0-RC19","2.3.0-RC18","2.3.0-RC17","2.3.0-RC16","2.3.0-RC15","2.3.0-RC14","2.3.0-RC13","2.3.0-RC12","2.3.0-RC11","2.3.0-RC10","2.3.0-NIGHTLY20220404","2.3.0-NIGHTLY20220328","2.3.0-NIGHTLY20220321","2.3.0-NIGHTLY20220314","2.3.0-NIGHTLY20220307","2.3.0-NIGHTLY20220228","2.3.0-NIGHTLY20220221","2.3.0-NIGHTLY20220214","2.3.0-NIGHTLY20220207","2.3.0-NIGHTLY20220131","2.2.2","2.2.2-NIGHTLY20220124","2.2.2-NIGHTLY20220117","2.2.2-NIGHTLY20220110","2.2.2-NIGHTLY20220103","2.2.2-NIGHTLY20211227","2.2.2-NIGHTLY20211220","2.2.2-NIGHTLY20211025","2.2.2-NIGHTLY20211018","2.2.2-NIGHTLY20211011","2.2.2-NIGHTLY20211004","2.2.2-NIGHTLY20210927","2.2.2-NIGHTLY20210921","2.2.2-NIGHTLY20210920","2.2.2-NIGHTLY20210919","2.2.2-NIGHTLY20210918","2.2.2-NIGHTLY20210917","2.2.2-NIGHTLY20210916","2.2.2-NIGHTLY20210915","2.2.2-NIGHTLY20210914","2.2.2-NIGHTLY20210913","2.2.2-NIGHTLY20210912","2.2.2-NIGHTLY20210911","2.2.2-NIGHTLY20210910","2.2.2-NIGHTLY20210909","2.2.2-NIGHTLY20210908","2.2.2-NIGHTLY20210906","2.2.2-NIGHTLY20210905","2.2.2-NIGHTLY20210904","2.2.2-NIGHTLY20210903","2.2.2-NIGHTLY20210902","2.2.2-NIGHTLY20210901","2.2.2-NIGHTLY20210831","2.2.2-NIGHTLY20210830","2.2.2-NIGHTLY20210829","2.2.2-NIGHTLY20210828","2.2.2-NIGHTLY20210827","2.2.2-NIGHTLY20210826","2.2.2-NIGHTLY20210825","2.2.2-NIGHTLY20210824","2.2.2-NIGHTLY20210823","2.2.2-NIGHTLY20210822","2.2.2-NIGHTLY20210821","2.2.2-NIGHTLY20210820","2.2.2-NIGHTLY20210819","2.2.2-NIGHTLY20210818","2.2.2-NIGHTLY20210817","2.2.2-NIGHTLY20210816","2.2.2-NIGHTLY20210815","2.2.2-NIGHTLY20210814","2.2.2-NIGHTLY20210813","2.2.2-NIGHTLY20210812","2.2.2-NIGHTLY20210811","2.2.0","2.2.0-SNAP","2.2.0-RC4","2.2.0-RC3","2.2.0-RC2","2.2.0-RC1","2.2.0-NIGHTLY20210810","2.2.0-NIGHTLY20210809","2.2.0-NIGHTLY20210808","2.2.0-NIGHTLY20210807","2.1.3-RC3","2.1.3-RC1","2.1.2","2.1.2-NIGHTLY20210806","2.1.2-NIGHTLY20210805","2.1.2-NIGHTLY20210804","2.1.2-NIGHTLY20210803","2.1.2-NIGHTLY20210802","2.1.2-NIGHTLY20210801","2.1.2-NIGHTLY20210731","2.1.2-NIGHTLY20210730","2.1.2-NIGHTLY20210729","2.1.2-NIGHTLY20210728","2.1.2-NIGHTLY20210726","2.1.2-NIGHTLY20210725","2.1.2-NIGHTLY20210724","2.1.2-NIGHTLY20210723","2.1.2-NIGHTLY20210722","2.1.2-NIGHTLY20210721","2.1.2-NIGHTLY20210720","2.1.2-NIGHTLY20210719","2.1.2-NIGHTLY20210718","2.1.2-NIGHTLY20210717","2.1.2-NIGHTLY20210716","2.1.2-NIGHTLY20210715","2.1.2-NIGHTLY20210714","2.1.2-NIGHTLY20210713","2.1.2-NIGHTLY20210712","2.1.2-NIGHTLY20210711","2.1.2-NIGHTLY20210710","2.1.2-NIGHTLY20210709","2.1.2-NIGHTLY20210708","2.1.2-NIGHTLY20210707","2.1.2-NIGHTLY20210706","2.1.2-NIGHTLY20210629","2.1.2-NIGHTLY20210628","2.1.2-NIGHTLY20210624","2.1.2-NIGHTLY20210621","2.1.2-NIGHTLY20210620","2.1.2-NIGHTLY20210619","2.1.2-NIGHTLY20210618","2.1.2-NIGHTLY20210617","2.1.2-NIGHTLY20210616","2.1.2-NIGHTLY20210615","2.1.2-NIGHTLY20210614","2.1.2-NIGHTLY20210613","2.1.2-NIGHTLY20210612","2.1.2-NIGHTLY20210611","2.1.2-NIGHTLY20210610","2.1.2-NIGHTLY20210609","2.1.2-NIGHTLY20210607","2.1.2-NIGHTLY20210606","2.1.2-NIGHTLY20210605","2.1.2-NIGHTLY20210604","2.1.2-NIGHTLY20210603","2.1.2-NIGHTLY20210602","2.1.2-NIGHTLY20210601","2.1.2-NIGHTLY20210531","2.1.2-NIGHTLY20210530","2.1.2-NIGHTLY20210529","2.1.2-NIGHTLY20210528","2.1.2-NIGHTLY20210527","2.1.2-NIGHTLY20210526","2.1.1","2.1.0-NIGHTLY20210525"],"description":"Cloudflow enables users to quickly develop, orchestrate, and operate distributed streaming applications on Kubernetes."},{"artifactId":"maven-archetype-lagom-java","groupId":"com.lightbend.lagom","versions":["1.6.8-RC1","1.6.7","1.6.6","1.6.5","1.6.5-RC2","1.6.5-RC1","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.6.0-RC3","1.6.0-RC2","1.6.0-RC1","1.6.0-M7","1.6.0-M6","1.6.0-M5","1.6.0-M4","1.6.0-M3","1.6.0-M2","1.5.5","1.5.4","1.5.3","1.5.1","1.5.0","1.5.0-RC2","1.5.0-RC1","1.5.0-RC1-26-g7d68234","1.5.0-M4","1.5.0-M3","1.5.0-M2","1.4.15","1.4.14","1.4.13","1.4.13-a5bd71c7","1.4.12","1.4.11","1.4.10","1.4.9","1.4.8","1.4.7","1.4.6","1.4.5","1.4.5-M1","1.4.4","1.4.3","1.4.2","1.4.1","1.4.0","1.4.0-RC1","1.4.0-M3","1.4.0-M2","1.4.0-M1","1.3.11","1.3.10","1.3.10-M1","1.3.9","1.3.8","1.3.8-M1","1.3.7","1.3.7-RC1","1.3.6","1.3.5","1.3.4","1.3.3","1.3.2","1.3.1","1.3.0","1.3.0-RC2","1.3.0-RC1","1.3.0-M1","1.2.3","1.2.2","1.2.1","1.2.0","1.2.0-RC2","1.2.0-RC1","1.1.0","1.1.0-RC1"],"description":"maven-archetype-lagom-java"},{"artifactId":"dropwizard-app","groupId":"com.liveperson.archetypes","versions":["0.1.1","0.1"]},{"artifactId":"dropwizard-core","groupId":"com.liveperson.archetypes","versions":["0.1"]},{"artifactId":"jdk9-app","groupId":"com.liveperson.archetypes","versions":["0.1"]},{"artifactId":"kafka-app","groupId":"com.liveperson.archetypes","versions":["0.1.1","0.1"]},{"artifactId":"hstone-monolithic-archetype-sample","groupId":"com.lnngle.hstone","versions":["0.0.2","0.0.1"],"description":"hstone-monolithic-archetype-sample"},{"artifactId":"lodsve-maven-archetype-webapp","groupId":"com.lodsve","versions":["1.0.2-RELEASE","1.0.1-RELEASE","1.0.0-RELEASE"],"description":"Lodsve Maven Archetype Webapp"},{"artifactId":"thymeleaf-spring-maven-archetype","groupId":"com.lordofthejars.thymeleafarchetype","versions":["1.0.0"],"description":"Thymeleaf Spring Maven Archetype"},{"artifactId":"spring-angular-webapp-archetype","groupId":"com.luhuiguo.archetype","versions":["0.0.1"],"description":"Spring Boot + Angular application"},{"artifactId":"spring-angular-antd-archetype","groupId":"com.luhuiguo.archetypes","versions":["0.4.0","0.3.1","0.3.0","0.1.0"],"description":"Spring Angular Ant Design Archetype"},{"artifactId":"jmaqs-selenium-archetype","groupId":"com.magenic.jmaqs.archetypes","versions":["2.1.0"],"description":"A starting template for utilizing the JMAQS Automation Framework for Selenium UI Testing"},{"artifactId":"jmaqs-webservices-archetype","groupId":"com.magenic.jmaqs.archetypes","versions":["2.1.0"],"description":"A starting template for utilizing the JMAQS Automation Framework for WebServices Testing"},{"artifactId":"jmaqs-webservices-project","groupId":"com.magenic.jmaqs.archetypes","versions":["2.1.0"],"description":"A starting template for utilizing the JMAQS Automation Framework for WebServices Testing"},{"artifactId":"spring-boot-archetype","groupId":"com.magic80","versions":["0.0.1"],"description":"spring boot archetype"},{"artifactId":"portofino-groovy-service-archetype","groupId":"com.manydesigns","versions":["5.3.3","5.3.2","5.3.1","5.3.0"]},{"artifactId":"portofino-java-service-archetype","groupId":"com.manydesigns","versions":["5.3.3","5.3.2","5.3.1","5.3.0"]},{"artifactId":"portofino-service-full-archetype","groupId":"com.manydesigns","versions":["5.3.4"],"description":"A Maven Archetype for a Portofino service (API only, no frontend), based on Spring Boot and packaged as an\n executable JAR file, with Portofino's filesystem-based REST dispatcher, Groovy actions, and Apache Shiro."},{"artifactId":"portofino-service-minimal-archetype","groupId":"com.manydesigns","versions":["5.3.4"],"description":"A Maven Archetype for a minimal Portofino service (API only, no frontend), based on Spring Boot and packaged\n as an executable JAR file, without (by default) any security implementation, without Groovy and without\n Portofino's filesystem-based dispatcher."},{"artifactId":"portofino-war-archetype","groupId":"com.manydesigns","versions":["5.3.4","5.3.3","5.3.2","5.3.1","5.3.0","5.2.1","5.2.0","5.2.0-archetype-fix","5.1.4","5.1.3","5.1.2","5.1.1","5.1.0","5.0.3","5.0.2","5.0.1","5.0.0","4.2.10","4.2.9","4.2.8","4.2.7","4.2.6","4.2.5","4.2.4","4.2.3","4.2.2","4.2.1","4.2","4.1.3","4.1.2","4.1.1","4.1","4.1.beta6","4.1.beta5"],"description":"A Maven Archetype for a Portofino application (backend + fronted) packaged as a WAR file,\n for deployment on a servlet container."},{"artifactId":"archetype","groupId":"com.manywho.services","versions":["2.0.0-beta-08"],"description":"A Maven archetype that creates a basic Boomi Flow Service"},{"artifactId":"example-archetype","groupId":"com.manywho.services","versions":["1.5.0","1.4.0","1.3.0","1.2.0","1.1.0","1.0.0"],"description":"Maven archetype that creates a basic example ManyWho Service"},{"artifactId":"hellosimulator-archetype","groupId":"com.massisframework.massis","versions":["1.2.22","1.2.20","1.2.18","1.2.17","1.2.10","1.2.9","1.2.8"],"description":"Simple Hello World simulator"},{"artifactId":"application-archetype","groupId":"com.matthewjosephtaylor.archetypes","versions":["1.0.1"],"description":"Maven archetype for a single-jar application"},{"artifactId":"plugin-quickstart","groupId":"com.maukaim.opensource","versions":["1.0.61","1.0.11","1.0.10","1.0.9"],"description":"Starter skeleton for Cryptohub plugins developers to quick start their projects."},{"artifactId":"jfxmobile-archetype","groupId":"com.messapix.ftatr.jfxmobile","versions":["1.0.0-b1"],"description":"Create base javafxPorts project"},{"artifactId":"bctrace-archetype","groupId":"com.michaelpollmeier","versions":["0.0.1"]},{"artifactId":"apache-spark-archetype","groupId":"com.microsoft.azure","versions":["0.1.0"],"description":"Maven Archetype for Apache Spark"},{"artifactId":"azure-functions-archetype","groupId":"com.microsoft.azure","versions":["1.52","1.51","1.50","1.49","1.48","1.47","1.46","1.45","1.44","1.43","1.42","1.41","1.40","1.39","1.38","1.37","1.36","1.35","1.34","1.33","1.32","1.31","1.30","1.29","1.28","1.27","1.26","1.25","1.24","1.23","1.22","1.21","1.20","1.19","1.18","1.17","1.16","1.15","1.14","1.13","1.12","1.11","1.10","1.9","1.8","1.7","1.6","1.5","1.4","1.3","1.2","1.1","1.0"],"description":"Maven Archetype for Azure Functions"},{"artifactId":"azure-functions-kotlin-archetype","groupId":"com.microsoft.azure","versions":["1.23"],"description":"Maven Archetype for Kotlin-based Azure Functions"},{"artifactId":"azure-iot-edge-archetype","groupId":"com.microsoft.azure","versions":["1.3.0","1.2.0","1.1.0","1.0.0"],"description":"Maven Archetype for Azure IoT Edge Module Project"},{"artifactId":"azure-spark-archetype","groupId":"com.microsoft.azure","versions":["0.1.0"],"description":"Maven Archetype for Azure Spark"},{"artifactId":"gateway-module-simple","groupId":"com.microsoft.azure.gateway.archetypes","versions":["1.0.0"],"description":"Azure IoT Gateway SDK Simple Module Scaffolding"},{"artifactId":"activiti-archetype","groupId":"com.microstrat.activiti","versions":["0.9","0.8","0.7","0.6"],"description":"An Apache Maven archetype to create a base project for Alfresco Process Services extensions."},{"artifactId":"extjs-springmvc-webapp","groupId":"com.mikenimer","versions":["1.0"],"description":"A maven Archetype to create new EXTJS project powered by a spring MVC service."},{"artifactId":"multi-archetype","groupId":"com.misolab","versions":["0.1.3","0.1.2","0.1.1","0.1.0","0.0.4","0.0.3","0.0.2","0.0.1"],"description":"Java Multi model project archetype by Misolab"},{"artifactId":"springboot-front-archetype","groupId":"com.misolab","versions":["0.0.1"],"description":"Spring Boot and Javascript Front Webapp Archetype"},{"artifactId":"springboot-webapp-archetype","groupId":"com.misolab","versions":["0.0.3","0.0.2","0.0.1"],"description":"Spring Boot Webapp Archetype (single module)"},{"artifactId":"ksql-udf-quickstart","groupId":"com.mitchseymour","versions":["0.1.2","0.1.1","0.1.0"],"description":"An archetype for building KSQL UDFs and UDAFs"},{"artifactId":"robovm-templates-console","groupId":"com.mobidevelop.robovm","versions":["2.3.18","2.3.17","2.3.16","2.3.15","2.3.14","2.3.13","2.3.12","2.3.11","2.3.10","2.3.9","2.3.8","2.3.7","2.3.6","2.3.5","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0","2.2.0","2.1.0","2.0.0"]},{"artifactId":"robovm-templates-ios-framework","groupId":"com.mobidevelop.robovm","versions":["2.3.18","2.3.17","2.3.16","2.3.15","2.3.14","2.3.13","2.3.12","2.3.11","2.3.10","2.3.9","2.3.8","2.3.7","2.3.6","2.3.5","2.3.4"]},{"artifactId":"robovm-templates-ios-single-view-no-ib","groupId":"com.mobidevelop.robovm","versions":["2.3.18","2.3.17","2.3.16","2.3.15","2.3.14","2.3.13","2.3.12","2.3.11","2.3.10","2.3.9","2.3.8","2.3.7","2.3.6","2.3.5","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0","2.2.0","2.1.0","2.0.0"]},{"artifactId":"moomanow-quickstart-webapp","groupId":"com.moomanow.archetypes","versions":["0.1.0"]},{"artifactId":"camel-openapi-archetype","groupId":"com.ms3-inc.tavros","versions":["0.2.7","0.2.6"],"description":"This archetype creates a Camel project with Spring Boot\n\tand generates stubs for endpoints in an OpenAPI document."},{"artifactId":"camel-scheduled-archetype","groupId":"com.ms3-inc.tavros","versions":["0.2.7","0.2.6"],"description":"This archetype creates a Camel project with Spring Boot for a scheduled task application."},{"artifactId":"executable-jar-archetype","groupId":"com.mycodefu","versions":["1.0"],"description":"An archetype to create a Java project which is easy to deploy and execute."},{"artifactId":"rdfbean-tapestry-quickstart","groupId":"com.mysema.rdf","versions":["1.7.1","1.7.0","1.6.1","1.5.5","1.5.4","1.5.3","1.5.2","1.5.1","1.5.0-beta9","1.5.0-beta8","1.5.0-beta7","1.5.0-beta6","1.5.0-beta5","1.5.0-beta4","1.5.0-beta3","1.5.0-beta2","1.5.0-beta1","1.5.0-beta10","1.4.19"],"description":"Archetype for creating a basic RDFBean Tapestry 5 application."},{"artifactId":"rdfbean-tapestry-quickstart","groupId":"com.mysema.rdfbean","versions":["1.4.17","1.4.16","1.4.12","1.4.11","1.4.10","1.4.8","1.4.7","1.4.6","1.4.5","1.4.4","1.4.3","1.4.2","1.4.1","1.4.0","1.3.9","1.3.8"],"description":"Archetype for creating a basic RDFBean Tapestry 5 application."},{"artifactId":"kukulkan-ee-archetype","groupId":"com.nabenik","versions":["0.0.1"],"description":"Kukulkan EE is an opinionated bootstrap archetype for JavaEE/JakartaEE 8.0 and Microprofile 3 family."},{"artifactId":"nablarch-batch-archetype","groupId":"com.nablarch.archetype","versions":["5u9","5u8","5u7","5u6","5u21","5u20","5u19","5u18","5u17","5u16","5u15","5u14","5u13","5u12","5u11","5u10"],"description":"Nablarch Framework."},{"artifactId":"nablarch-batch-ee-archetype","groupId":"com.nablarch.archetype","versions":["5u9","5u8","5u7","5u6","5u21","5u20","5u19","5u18","5u17","5u16","5u15","5u14","5u13","5u12","5u11","5u10"],"description":"Nablarch Framework."},{"artifactId":"nablarch-container-batch-archetype","groupId":"com.nablarch.archetype","versions":["5u21","5u20"],"description":"Nablarch Framework."},{"artifactId":"nablarch-container-jaxrs-archetype","groupId":"com.nablarch.archetype","versions":["5u21","5u20","5u19","5u18"],"description":"Nablarch Framework."},{"artifactId":"nablarch-container-web-archetype","groupId":"com.nablarch.archetype","versions":["5u21","5u20","5u19","5u18"],"description":"Nablarch Framework."},{"artifactId":"nablarch-jaxrs-archetype","groupId":"com.nablarch.archetype","versions":["5u9","5u8","5u7","5u6","5u21","5u20","5u19","5u18","5u17","5u16","5u15","5u14","5u13","5u12","5u11","5u10"],"description":"Nablarch Framework."},{"artifactId":"nablarch-web-archetype","groupId":"com.nablarch.archetype","versions":["5u9","5u8","5u7","5u6","5u21","5u20","5u19","5u18","5u17","5u16","5u15","5u14","5u13","5u12","5u11","5u10"],"description":"Nablarch Framework."},{"artifactId":"javacl-simple-tutorial","groupId":"com.nativelibs4java","versions":["1.0.0-RC4","1.0.0-RC3","1.0.0-RC2"]},{"artifactId":"ms-uberjar-archetype","groupId":"com.nec.webotx","versions":["10.4"],"description":"WebOTX MicroService Maven Archetype POM"},{"artifactId":"emagin-jfx-archetype","groupId":"com.nexitia.emaginplatform","versions":["11.0.3","11.0.2"],"description":"Generates Quick start project for Emagin FX"},{"artifactId":"dope-archetype","groupId":"com.nitorcreations","versions":["1.10","1.9","1.8","1.7","1.6","1.5","1.2","1.1","1.0"],"description":"A presentation system intended for more advanced users. Think Powerpoint meets Markdown."},{"artifactId":"PronghornRanch","groupId":"com.ociweb","versions":["1.0.0"],"description":"A Maven Archetype for Pronghorn projects"},{"artifactId":"foglighter","groupId":"com.ociweb","versions":["1.0.0"],"description":"Archetype to build new FogLight IoT projects"},{"artifactId":"greenlighter","groupId":"com.ociweb","versions":["1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"A Maven archetype for GreenLightning projects"},{"artifactId":"pronghorn-ranch","groupId":"com.ociweb","versions":["1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1"],"description":"A Maven Archetype for Pronghorn projects"},{"artifactId":"typedrest-archetype","groupId":"com.oneandone","versions":["0.30","0.29.1","0.29","0.28.1","0.28","0.27","0.26","0.25","0.24","0.23","0.22","0.21","0.20","0.19","0.18","0.17","0.16","0.15"],"description":"Archetype for building TypedRest web applications that can run standalone or be consumed as a library."},{"artifactId":"ontimize-boot-backend-archetype","groupId":"com.ontimize","versions":["1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Ontimize Boot Backend is an archetype for building applications with Ontimize Boot Framework."},{"artifactId":"ontimize-boot-web-8-archetype","groupId":"com.ontimize","versions":["1.0.1","1.0.0"],"description":"Ontimize Boot Web 8 is an archetype for building applications with Ontimize Boot Framework."},{"artifactId":"centipede-archetype","groupId":"com.ontology2","versions":["100.2","100.0","99.9","99.8","99.7","99.6","99.5","99.4","99.3","99.2","99.1","99.0"],"description":"archetype for command line applications based on Centipede, Spring and Guava"},{"artifactId":"spring-archetype-component","groupId":"com.opentable","versions":["0.0.8","0.0.7"],"description":"OpenTable Spring Component archetype"},{"artifactId":"spring-archetype-service","groupId":"com.opentable","versions":["0.0.8","0.0.7"],"description":"OpenTable Spring JAX-RS Service archetype"},{"artifactId":"spring-archetype-service-mvc","groupId":"com.opentable","versions":["0.0.8"],"description":"OpenTable Spring MVC Service archetype"},{"artifactId":"opsdatastore-collector-plugin-archetype","groupId":"com.opsdatastore","versions":["1.4.0","1.3.0","1.2.1","1.2.1-RC3","1.2.1-RC2","1.2.1-RC1","1.2.1-M2","1.2.0-RC1"]},{"artifactId":"eclipselink-project-archetype","groupId":"com.oracle.database.jdbc","versions":["1.0"],"description":"Eclipselink project archetype to connect to Oracle Database"},{"artifactId":"nodejs-archetype","groupId":"com.oracle.graal-js","versions":["0.3","0.2","0.1"],"description":"Archetype to start mixed Java/JavaScript development on top of\n GraalVM - a JVM with polyglot capabilities. The GraalVM comes\n with a 100% compatible node.js implementation that can easily execute\n Java code as well as code in other scripting languages like Ruby,\n R language or Python."},{"artifactId":"springboot-archetype","groupId":"com.oscroll.archetypes","versions":["1.0.0"],"description":"Sonatype helps open source projects to set up Maven repositories on https://oss.sonatype.org/"},{"artifactId":"jersey-guice-webapp-archetype","groupId":"com.pampanet","versions":["0.1.4"],"description":"Archetype for building RESTful Web Services with Jersey 1.18.1 and Google Guice 3.0"},{"artifactId":"secure-rest-webapp-archetype","groupId":"com.pampanet","versions":["0.1.0"],"description":"Maven Archetype for building Secure RESTful Web Services Archetype with Apache Shiro 1.2.3, Jersey 1.18.1 and Google Guice 3.0"},{"artifactId":"shiro-guice-resteasy-webapp-archetype","groupId":"com.pampanet","versions":["0.0.2"],"description":"Maven Archetype for building Secure RESTful Web Services Archetype with Apache Shiro 1.2.3, RestEasy 3 and Google Guice 3.0"},{"artifactId":"seauto-cucumber-sample-archetype","groupId":"com.partnet.sample","versions":["0.9.1","0.9.0"],"description":"Sample project for SeAuto: a bridge to Selenium from your favorite test framework."},{"artifactId":"seauto-jbehave-sample-archetype","groupId":"com.partnet.sample","versions":["0.9.1","0.9.0"],"description":"Sample project for SeAuto: a bridge to Selenium from your favorite test framework."},{"artifactId":"seauto.junit.sample-archetype","groupId":"com.partnet.sample","versions":["0.9.1","0.9.0","0.8.0"],"description":"Sample project for SeAuto: a bridge to Selenium from your favorite test framework."},{"artifactId":"SeLion-Archetype","groupId":"com.paypal.selion","versions":["1.2.0","1.1.0","1.0.0"],"description":"Archetype for new SeLion projects"},{"artifactId":"peppermint-chain-quick-start","groupId":"com.peppermintchain.archetypes","versions":["1.1","1.0"],"description":"This archetype allows a quick-start setup of a peppermint-chain app."},{"artifactId":"xpocket-plugin-archetype","groupId":"com.perfma.xlab","versions":["2.0.1-RELEASE","2.0.0-RELEASE"],"description":"XPocket Plugin ArcheType Definition"},{"artifactId":"pig-gen","groupId":"com.pig4cloud.archetype","versions":["3.3.3","3.3.2","3.3.1","3.3.0","3.2.3","3.2.2","3.2.1","3.2.0","3.1.4","3.1.2","3.1.1","3.1.0","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.10.3","2.10.2","2.10.1","2.10.0","2.9.1","2.9.0","2.8.1","2.8.0","2.7.5","2.7.4","2.7.3","2.7.2","2.7.1","2.7.0","2.6.5","2.6.4","2.6.3","2.6.2","2.6.1","2.6.0","2.5.1","2.5.0","2.4.3","2.6.3.tmp","2.6.3.tmp3","2.6.3.tmp2","2.6.3.tmp1"],"description":"pig gen"},{"artifactId":"pigx-gen","groupId":"com.pig4cloud.archetype","versions":["4.6.0","4.5.0","4.4.0","4.3.0","4.2.0","4.1.0","4.0.0","3.11.0","3.10.0","3.9.0","3.8.0","3.7.0","3.6.0","3.5.0","3.4.0","3.3.0","4.6.0.GEN","3.7.0.3","3.7.0.2","3.7.0.1"],"description":"pigx gen"},{"artifactId":"openapi-archetype","groupId":"com.pigumer.tools.archetype","versions":["0.2.0","0.1.17","0.1.16","0.1.15","0.1.14","0.1.12"],"description":"Create code generator project used openapi generator."},{"artifactId":"woko-archetype","groupId":"com.pojosontheweb","versions":["2.4-beta","2.4-beta7","2.4-beta6","2.4-beta5","2.4-beta4","2.4-beta3","2.4-beta2","2.3.4","2.3.3","2.3.2","2.3.1","2.3","2.2","2.2-beta","2.2-beta7","2.2-beta6","2.2-beta5","2.2-beta4","2.2-beta3","2.2-beta2","2.1","2.1-beta","2.1-beta9","2.1-beta8","2.1-beta7","2.1-beta6","2.1-beta4","2.1-beta3","2.1-beta2","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0","2.0-beta"]},{"artifactId":"jakartaee-application-quickstart-archetype","groupId":"com.poortoys","versions":["8.0.0","1.0.0"],"description":"Jakarta EE Enterprise Application quick start template"},{"artifactId":"jakartaee-ejb-quickstart-archetype","groupId":"com.poortoys","versions":["8.0.0","1.0.0"],"description":"Jakarta Enterprise Bean quick start template"},{"artifactId":"jakartaee-rest-quickstart-archetype","groupId":"com.poortoys","versions":["8.0.0"],"description":"Jakarta EE REST application quick start template"},{"artifactId":"jakartaee-webapp-quickstart-archetype","groupId":"com.poortoys","versions":["8.0.0","1.0.0"],"description":"Jakarta EE Web application quick start template with Jakarta Server Faces and Jakarta RESTful Web Services"},{"artifactId":"java-quickstart-archetype","groupId":"com.poortoys","versions":["1.0.0"],"description":"Java quick start template"},{"artifactId":"microprofile-quickstart-archetype","groupId":"com.poortoys","versions":["3.3.0"],"description":"MicroProfile Quick Start Template"},{"artifactId":"lucy-archetype","groupId":"com.pr-ing","versions":["1.0"],"description":"A simple HTTP framework based on Netty."},{"artifactId":"pm-wicket-archetype","groupId":"com.premiumminds","versions":["3.1","3.0","2.0","1.1","1.0"],"description":"Template to create a web application with Wicket + Guice + Hibernate"},{"artifactId":"domino-gwt-app-archetype","groupId":"com.progressoft.brix.domino.archetypes","versions":["1.0-rc.2","1.0-rc.1"]},{"artifactId":"domino-gwt-module-archetype","groupId":"com.progressoft.brix.domino.archetypes","versions":["1.0-rc.2","1.0-rc.1"]},{"artifactId":"domino-material-module-archetype","groupId":"com.progressoft.brix.domino.archetypes","versions":["1.0-rc.2","1.0-rc.1"]},{"artifactId":"sample-server-archetype","groupId":"com.proofpoint.platform","versions":["2.61","2.60","2.59","2.58","2.57","2.56","2.55","2.54","2.53","2.52","2.51","2.49","2.48","2.47","2.46","2.44","2.43","2.42","2.41","2.40","2.39","2.38","2.37","2.36","2.35","2.34","2.33","2.32","2.31","2.30","2.29","2.28","2.27","2.26","2.25","2.24","2.23","2.22","2.21","2.20","2.19","2.18","2.17","2.16","2.15","2.14","2.13","2.12","2.11","2.10","1.99","1.98","1.97","1.96","1.95","1.94","1.93","1.92","1.91","1.90","1.89","1.88","1.87","1.86","1.60","1.59","1.58","1.57","1.56","1.55","1.54","1.53","1.52","1.51","1.50","1.49","1.48","1.47","1.46","1.45","1.44","1.43","1.42","1.41","1.40","1.39","1.38","1.37","1.36","1.35","1.34","1.33","1.32","1.31","1.30","1.29","1.28","1.27","1.26","1.25","1.24","1.23","1.22","1.21","1.20","1.19","1.18","1.17","1.16","1.15","1.14","1.13","1.12","1.11","1.10","0.99","0.98","0.97","0.96","0.95","0.94","0.93","0.92","0.91","0.90","0.89","0.88","0.87","0.86","0.85","0.84","0.83","0.82","0.81","0.80","0.79","0.78","0.77","0.76","0.75","0.74","0.73","0.72","0.71","0.70","0.69","0.67","0.66","0.65","0.64","0.63","0.62","0.61","0.60","0.59","0.58","0.57","0.56","0.55","0.54","0.53","0.52","0.51","0.50","0.49","0.48","0.47","0.46","0.45","0.44","2.09","2.08","2.07","2.06","2.05","2.04","2.03","2.02","2.01","2.00","1.09","1.08","1.07","1.06","1.05","1.04","1.03","1.02","1.01","1.00"],"description":"Sample server archetype"},{"artifactId":"skeleton-server-archetype","groupId":"com.proofpoint.platform","versions":["2.61","2.60","2.59","2.58","2.57","2.56","2.55","2.54","2.53","2.51","2.49","2.48","2.47","2.46","2.44","2.43","2.42","2.41","2.40","2.39","2.38","2.37","2.36","2.35","2.34","2.33","2.32","2.30","2.29","2.28","2.27","2.26","2.25","2.24","2.23","2.22","2.21","2.20","2.19","2.18","2.17","2.16","2.15","2.14","2.13","2.12","2.11","2.10","1.99","1.98","1.97","1.96","1.95","1.94","1.93","1.92","1.91","1.90","1.89","1.88","1.87","1.86","1.60","1.59","1.58","1.57","1.56","1.55","1.54","1.53","1.52","1.51","1.50","1.49","1.48","1.47","1.46","1.45","1.44","1.43","1.42","1.41","1.40","1.39","1.38","1.37","1.36","1.35","1.34","1.33","1.32","1.31","1.30","1.29","1.28","1.27","1.26","1.25","1.24","1.23","1.22","1.21","1.20","1.19","1.18","1.17","1.16","1.15","1.14","1.13","1.12","1.11","1.10","0.99","0.98","0.97","0.96","0.95","0.94","0.93","0.92","0.91","0.90","0.89","0.88","0.87","0.86","0.85","0.84","0.83","0.82","0.81","0.80","0.79","0.78","0.77","0.76","0.75","0.74","0.73","0.72","0.71","0.70","0.69","0.67","0.66","0.65","0.64","0.63","0.62","0.61","0.60","0.59","0.58","0.57","0.56","0.55","0.54","0.53","0.52","0.51","0.50","0.49","0.48","0.47","0.46","0.45","0.44","2.09","2.08","2.07","2.06","2.05","2.04","2.03","2.02","2.01","2.00","1.09","1.08","1.07","1.06","1.05","1.04","1.03","1.02","1.01","1.00"],"description":"Skeleton server archetype"},{"artifactId":"lush-service","groupId":"com.px3j","versions":["2022.9.3","2022.9.2","2022.9.1","2022.8.1","2022.8.0"],"description":"Lush Service Architecture - Archetype"},{"artifactId":"j2me-simple","groupId":"com.pyx4me","versions":["2.0.4","2.0.3","2.0.2","2.0.1"],"description":"Maven 2 Archetype for midlet application using j2me-maven-plugin"},{"artifactId":"carina-archetype","groupId":"com.qaprosoft","versions":["8.0.4","8.0.3","8.0.2","8.0.1","7.4.26","7.4.25","7.4.24","7.4.23","7.4.22","7.4.21","7.3.20","7.3.19","7.3.18","7.3.17","7.3.16","7.3.15","7.2.14","7.2.13","7.2.12","7.2.10","7.1.6","7.0.1","7.0.0","6.5.46","6.5.45","6.5.44","6.4.43","6.4.42","6.4.40","6.4.38","6.4.37","6.4.34","6.4.33","6.3.32","6.3.31","6.3.30","6.2.29","6.2.28","6.2.27","6.1.22","6.1.21","6.1.20","6.0.9","6.0.8","6.0.7","6.0.6","6.0.5","6.0.4","6.0.3","1.8","1.7","1.6","1.5","1.4","1.3","1.2","1.0"],"description":"Carina Archetype"},{"artifactId":"carina-cucumber-archetype","groupId":"com.qaprosoft","versions":["7.4.28","7.4.26","7.4.25"],"description":"Carina Cucumber Archetype"},{"artifactId":"flink-quickstart-java","groupId":"com.qcloud.oceanus","versions":["1.10.1"]},{"artifactId":"flink-quickstart-scala","groupId":"com.qcloud.oceanus","versions":["1.10.1"]},{"artifactId":"flink-walkthrough-datastream-java","groupId":"com.qcloud.oceanus","versions":["1.10.1"]},{"artifactId":"flink-walkthrough-datastream-scala","groupId":"com.qcloud.oceanus","versions":["1.10.1"]},{"artifactId":"flink-walkthrough-table-java","groupId":"com.qcloud.oceanus","versions":["1.10.1"]},{"artifactId":"flink-walkthrough-table-scala","groupId":"com.qcloud.oceanus","versions":["1.10.1"]},{"artifactId":"javafx-archetype-fxml","groupId":"com.raelity.jfx","versions":["0.0.1"]},{"artifactId":"javafx-archetype-fxml-netbeans","groupId":"com.raelity.jfx","versions":["0.0.4","0.0.3","0.0.2","0.0.1"]},{"artifactId":"javafx-archetype-simple","groupId":"com.raelity.jfx","versions":["0.0.1"]},{"artifactId":"javafx-archetype-simple-netbeans","groupId":"com.raelity.jfx","versions":["0.0.4","0.0.3","0.0.2","0.0.1"]},{"artifactId":"pax-runner-platform-archetype","groupId":"com.rapid7.pax","versions":["1.0"],"description":"An archetype for creating pax-runner platform definition files."},{"artifactId":"openapi-quarkus-archetype","groupId":"com.redhat.consulting","versions":["1.0.9","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2"],"description":"OpenAPI And Quarkus Bootstrap Archetype"},{"artifactId":"openapi-springboot-archetype","groupId":"com.redhat.consulting","versions":["1.0.3","1.0.2","1.0.1"],"description":"OpenAPI And SpringBoot Bootstrap Archetype"},{"artifactId":"openapi-vertx-archetype","groupId":"com.redhat.consulting","versions":["1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.4","1.0.3"],"description":"OpenAPI And Vert.x Bootstrap Archetype"},{"artifactId":"rexsl-maven-archetype","groupId":"com.rexsl","versions":["0.13.3","0.13.2","0.13.1","0.13","0.12","0.11.1","0.11","0.10.1","0.10","0.9","0.8","0.7","0.6","0.5.1","0.5","0.4.15","0.4.14","0.4.13","0.4.12","0.4.11","0.4.10","0.4.9","0.4.8","0.4.7","0.4.6","0.4.5"]},{"artifactId":"louie-archetype","groupId":"com.rhythm.louie","versions":["2.0-beta"],"description":"Maven Archetype for creating Louie-based services"},{"artifactId":"restygwt-maven-archetype","groupId":"com.robeja.mojo","versions":["0.7.0"],"description":"Simple RestyGWT, RestEasy maven archetype"},{"artifactId":"at9-basic","groupId":"com.rudolfschmidt","versions":["1.0.1","1.0.0"],"description":"Archetype with basic configuration for Java9"},{"artifactId":"at9-linker","groupId":"com.rudolfschmidt","versions":["1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Archetype with configuration for assembling a Java9 project"},{"artifactId":"at9-remote","groupId":"com.rudolfschmidt","versions":["1.0.2","1.0.1","1.0.0"],"description":"Archetype with deployment configuration for a Java9 project"},{"artifactId":"javaee7-essentials-archetype","groupId":"com.rudolfschmidt","versions":["1.4","1.3","1.2","1.1","1.0"],"description":"minimal pom for javaee7 projects"},{"artifactId":"javase7-essentials-archetype","groupId":"com.rudolfschmidt","versions":["1.1","1.0"],"description":"minimal pom for javase7 projects"},{"artifactId":"javase8-assembly-archetype","groupId":"com.rudolfschmidt","versions":["1.1","1.0"],"description":"Archetype for JavaSE 8 with assembly configuration"},{"artifactId":"javase8-essentials-archetype","groupId":"com.rudolfschmidt","versions":["2.0","1.0"],"description":"Archetype with essentials for javase8"},{"artifactId":"javase8-remote-archetype","groupId":"com.rudolfschmidt","versions":["1.0.0"],"description":"Archetype for JavaSE 8 with maven central deployment configuration"},{"artifactId":"jakarta-ee-webapp","groupId":"com.sairaghava","versions":["1.0.0"],"description":"Maven archetype to JumpStart with JakartaEE project"},{"artifactId":"javase-standalone-app","groupId":"com.sairaghava","versions":["1.1.1","1.1.0","1.0.0"],"description":"Maven archetype to JumpStart with JavaSE project"},{"artifactId":"jaxrs-client-archetype","groupId":"com.sairaghava","versions":["1.0"],"description":"jaxrs-client archetype that helps to create a minimal JavaSE based JAX-RS client application"},{"artifactId":"einstein-bot-channel-connector-archetype","groupId":"com.salesforce.einsteinbot","versions":["2.1.1","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"A Maven archetype for creating a new bot channel connector application"},{"artifactId":"cds-services-archetype","groupId":"com.sap.cds","versions":["1.32.0","1.31.1","1.31.0","1.30.2","1.30.1","1.30.0","1.29.1","1.29.0","1.28.1","1.28.0","1.27.3","1.27.2","1.27.1","1.27.0","1.26.1","1.26.0","1.25.0","1.24.0","1.23.1","1.23.0","1.22.2","1.22.1","1.22.0","1.21.1","1.21.0","1.20.3","1.20.1","1.20.0","1.19.0","1.18.3","1.18.2","1.18.1","1.18.0","1.17.0","1.16.3","1.16.2","1.16.1","1.16.0","1.15.3","1.15.2","1.15.1","1.15.0","1.14.3","1.14.2","1.14.1","1.14.0","1.13.1","1.13.0","1.12.1","1.12.0","1.11.2","1.11.1","1.11.0","1.10.0","1.9.0","1.8.3","1.8.1","1.7.0","1.6.0","1.5.2","1.5.1","1.4.0","1.3.0","1.2.0","1.1.0","1.0.1","1.0.0"],"description":"Maven Archetype to initialize a CDS Java project using best practices"},{"artifactId":"com.sap.cloud.adk.archetype-adapter","groupId":"com.sap.cloud.adk","versions":["1.0.3","1.0.1"],"description":"Maven archetype to generate sample SAP Cloud Integration Adapter project"},{"artifactId":"com.sap.cloud.adk.archetype-adapter-component-reuse","groupId":"com.sap.cloud.adk","versions":["1.0.3","1.0.1"],"description":"Maven archetype for creating a sample SAP Cloud Integration Adapter project\n in order to reuse existing Camel component."},{"artifactId":"java-maven-arch-odata","groupId":"com.sap.cloud.gw.xsa","versions":["1.2.8"],"description":"Java Tools - Maven Archetype - OData"},{"artifactId":"mkt-kyma-spring","groupId":"com.sap.cloud.mkt","versions":["1.2.0","1.1.0","1.0.0"],"description":"Spring Boot based starter project for Kyma Deployment"},{"artifactId":"ymkt-cf-spring","groupId":"com.sap.cloud.mkt","versions":["1.2.0","1.1.0","1.0.0"],"description":"Spring Boot based starter project for Cloud Foundry Platform"},{"artifactId":"scp-cf-spring","groupId":"com.sap.cloud.s4hana.archetypes","versions":["2.28.0","2.27.0","2.26.0","2.25.0","2.24.0","2.23.0","2.22.1","2.22.0","2.21.0","2.20.2","2.20.1","2.20.0","2.19.2","2.19.1","2.19.0","2.18.1","2.18.0","2.17.0","2.16.0","2.15.0","2.14.0","2.13.3","2.13.2","2.12.0","2.11.1","2.10.0","2.9.1","2.9.0","2.8.1","2.8.0","2.7.0","2.6.1","2.5.0","2.4.2","2.4.1","2.3.1","2.2.0","2.1.2","2.1.1","2.1.0","2.0.0","2.0.0-M3","1.11.1","1.10.0","1.9.4","1.9.3","1.9.2","1.8.0","1.7.1","1.6.0","1.5.0","1.4.0","1.3.0","1.2.0","1.1.2","1.1.1","1.0.0"],"description":"Archetype for a Spring-based project on SAP Cloud Platform (Cloud Foundry)."},{"artifactId":"scp-cf-tomcat","groupId":"com.sap.cloud.s4hana.archetypes","versions":["2.28.0","2.27.0","2.26.0","2.25.0","2.24.0","2.23.0","2.22.1","2.22.0","2.21.0","2.20.2","2.20.1","2.20.0","2.19.2","2.19.1","2.19.0","2.18.1","2.18.0","2.17.0","2.16.0","2.15.0","2.14.0","2.13.3","2.13.2","2.12.0","2.11.1","2.10.0","2.9.1","2.9.0","2.8.1","2.8.0","2.7.0","2.6.1","2.5.0","2.4.2","2.4.1","2.3.1","2.2.0","2.1.2","2.1.1","2.1.0","2.0.0","2.0.0-M3","1.11.1","1.10.0","1.9.4","1.9.3","1.9.2","1.8.0","1.7.1","1.6.0","1.5.0","1.4.0","1.3.0","1.2.0","1.1.2","1.1.1","1.0.0"],"description":"Archetype for a Tomcat-based project on SAP Cloud Platform (Cloud Foundry)."},{"artifactId":"scp-cf-tomee","groupId":"com.sap.cloud.s4hana.archetypes","versions":["2.28.0","2.27.0","2.26.0","2.25.0","2.24.0","2.23.0","2.22.1","2.22.0","2.21.0","2.20.2","2.20.1","2.20.0","2.19.2","2.19.1","2.19.0","2.18.1","2.18.0","2.17.0","2.16.0","2.15.0","2.14.0","2.13.3","2.13.2","2.12.0","2.11.1","2.10.0","2.9.1","2.9.0","2.8.1","2.8.0","2.7.0","2.6.1","2.5.0","2.4.2","2.4.1","2.3.1","2.2.0","2.1.2","2.1.1","2.1.0","2.0.0","2.0.0-M3","1.11.1","1.10.0","1.9.4","1.9.3","1.9.2","1.8.0","1.7.1","1.6.0","1.5.0","1.4.0","1.3.0","1.2.0","1.1.2","1.1.1","1.0.0"],"description":"Archetype for a TomEE-based project on SAP Cloud Platform (Cloud Foundry)."},{"artifactId":"scp-neo-javaee6","groupId":"com.sap.cloud.s4hana.archetypes","versions":["1.11.1","1.10.0","1.9.4","1.9.3","1.9.2","1.8.0","1.7.1","1.6.0","1.5.0","1.4.0","1.3.0","1.2.0","1.1.2","1.1.1","1.0.0"],"description":"Archetype for a project based on Java EE 6 on SAP Cloud Platform (Neo)."},{"artifactId":"scp-neo-javaee7","groupId":"com.sap.cloud.s4hana.archetypes","versions":["2.28.0","2.27.0","2.26.0","2.25.0","2.24.0","2.23.0","2.22.1","2.22.0","2.21.0","2.20.2","2.20.1","2.20.0","2.19.2","2.19.1","2.19.0","2.18.1","2.18.0","2.17.0","2.16.0","2.15.0","2.14.0","2.13.3","2.13.2","2.12.0","2.11.1","2.10.0","2.9.1","2.9.0","2.8.1","2.8.0","2.7.0","2.6.1","2.5.0","2.4.2","2.4.1","2.3.1","2.2.0","2.1.2","2.1.1","2.1.0","2.0.0","2.0.0-M3","1.11.1","1.10.0","1.9.4","1.9.3","1.9.2","1.8.0","1.7.1"],"description":"Archetype for a project based on Java EE 7 on SAP Cloud Platform (Neo)."},{"artifactId":"scp-neo-javaee6","groupId":"com.sap.cloud.s4hana.starters","versions":["1.1.2","1.1.1","1.0.0"],"description":"Starter for a project based on Java EE 6 on SAP Cloud Platform (Neo)."},{"artifactId":"scp-cf-spring","groupId":"com.sap.cloud.sdk.archetypes","versions":["4.8.0","4.7.0","4.6.0","4.5.0","4.4.0","4.3.0","4.2.0","4.1.0","4.0.0","3.78.0","3.77.0","3.76.0","3.75.0","3.74.0","3.73.0","3.72.0","3.71.0","3.70.0","3.69.0","3.68.0","3.67.0","3.66.0","3.65.0","3.64.0","3.63.0","3.62.0","3.61.0","3.60.0","3.59.0","3.58.0","3.57.0","3.56.0","3.55.1","3.54.0","3.53.0","3.52.0","3.51.0","3.50.0","3.49.0","3.48.0","3.47.0","3.46.0","3.45.0","3.44.1","3.43.0","3.42.0","3.41.0","3.40.0","3.39.0","3.38.0","3.37.0","3.36.0","3.35.0","3.34.1","3.34.0","3.33.0","3.32.0","3.31.0","3.30.0","3.29.1","3.28.1","3.27.0","3.26.0","3.25.0","3.24.0","3.23.0","3.22.0","3.21.0","3.20.0","3.19.1","3.18.0","3.17.2","3.17.1","3.16.1","3.15.1","3.14.0","3.13.0","3.12.0","3.11.0","3.10.0","3.9.0","3.8.0","3.7.0","3.6.0","3.5.0","3.4.0","3.3.1","3.2.0","3.1.0","3.0.0"],"description":"Archetype for a Spring-based project on SAP Business Technology Platform (Cloud Foundry)."},{"artifactId":"scp-cf-tomee","groupId":"com.sap.cloud.sdk.archetypes","versions":["4.8.0","4.7.0","4.6.0","4.5.0","4.4.0","4.3.0","4.2.0","4.1.0","4.0.0","3.78.0","3.77.0","3.76.0","3.75.0","3.74.0","3.73.0","3.72.0","3.71.0","3.70.0","3.69.0","3.68.0","3.67.0","3.66.0","3.65.0","3.64.0","3.63.0","3.62.0","3.61.0","3.60.0","3.59.0","3.58.0","3.57.0","3.56.0","3.55.1","3.54.0","3.53.0","3.52.0","3.51.0","3.50.0","3.49.0","3.48.0","3.47.0","3.46.0","3.45.0","3.44.1","3.43.0","3.42.0","3.41.0","3.40.0","3.39.0","3.38.0","3.37.0","3.36.0","3.35.0","3.34.1","3.34.0","3.33.0","3.32.0","3.31.0","3.30.0","3.29.1","3.28.1","3.27.0","3.26.0","3.25.0","3.24.0","3.23.0","3.22.0","3.21.0","3.20.0","3.19.1","3.18.0","3.17.2","3.17.1","3.16.1","3.15.1","3.14.0","3.13.0","3.12.0","3.11.0","3.10.0","3.9.0","3.8.0","3.7.0","3.6.0","3.5.0","3.4.0","3.3.1","3.2.0","3.1.0","3.0.0"],"description":"Archetype for a TomEE-based project on SAP Business Technology Platform (Cloud Foundry)."},{"artifactId":"scp-neo-javaee7","groupId":"com.sap.cloud.sdk.archetypes","versions":["4.8.0","4.7.0","4.6.0","4.5.0","4.4.0","4.3.0","4.2.0","4.1.0","4.0.0","3.78.0","3.77.0","3.76.0","3.75.0","3.74.0","3.73.0","3.72.0","3.71.0","3.70.0","3.69.0","3.68.0","3.67.0","3.66.0","3.65.0","3.64.0","3.63.0","3.62.0","3.61.0","3.60.0","3.59.0","3.58.0","3.57.0","3.56.0","3.55.1","3.54.0","3.53.0","3.52.0","3.51.0","3.50.0","3.49.0","3.48.0","3.47.0","3.46.0","3.45.0","3.44.1","3.43.0","3.42.0","3.41.0","3.40.0","3.39.0","3.38.0","3.37.0","3.36.0","3.35.0","3.34.1","3.34.0","3.33.0","3.32.0","3.31.0","3.30.0","3.29.1","3.28.1","3.27.0","3.26.0","3.25.0","3.24.0","3.23.0","3.22.0","3.21.0","3.20.0","3.19.1","3.18.0","3.17.2","3.17.1","3.16.1","3.15.1","3.14.0","3.13.0","3.12.0","3.11.0","3.10.0","3.9.0","3.8.0","3.7.0","3.6.0","3.5.0","3.4.0","3.3.1","3.2.0","3.1.0","3.0.0"],"description":"Archetype for a project based on Java EE 7 on SAP Business Technology Platform (Neo)."},{"artifactId":"cloud-servicesdk-odatav4-quickstart","groupId":"com.sap.cloud.servicesdk.archetypes","versions":["1.40.11","1.40.6","1.40.2","1.40.1","1.40.0","1.39.3","1.39.0","1.38.0","1.37.1","1.37.0","1.36.2","1.36.1","1.36.0","1.35.4","1.35.2","1.35.0","1.34.8","1.34.7","1.34.4","1.34.1","1.33.14","1.33.13","1.33.0","1.32.5","1.32.3","1.32.0","1.31.3","1.31.2","1.31.1","1.31.0","1.30.1","1.30.0","1.29.5","1.29.0","1.28.2","1.28.1","1.28.0","1.27.0","1.26.0","1.25.0","1.24.0","1.23.0","1.22.0","1.21.1","1.20.1","1.19.0","1.18.0","1.17.1","1.17.0","1.16.1","1.15.2","1.15.1","1.15.0","1.14.2","1.14.0","1.13.1","1.11.4","1.10.2","1.1.3"],"description":"SAP Cloud Platform SDK for service development"},{"artifactId":"cloud-servicesdk-odatav4-sample","groupId":"com.sap.cloud.servicesdk.archetypes","versions":["1.11.4","1.10.2","1.1.3"],"description":"SAP Cloud Platform SDK for service development"},{"artifactId":"odata2-cdx","groupId":"com.sap.cloud.servicesdk.archetypes","versions":["1.11.4","1.10.2","1.7.4"],"description":"SAP Cloud Platform SDK for service development"},{"artifactId":"odatav2","groupId":"com.sap.cloud.servicesdk.archetypes","versions":["1.40.11","1.40.6","1.40.2","1.40.1","1.40.0","1.39.3","1.39.0","1.38.0","1.37.1","1.37.0","1.36.2","1.36.1","1.36.0","1.35.4","1.35.2","1.35.0","1.34.8","1.34.7","1.34.4","1.34.1","1.33.14","1.33.13","1.33.0","1.32.5","1.32.3","1.32.0","1.31.3","1.31.2","1.31.1","1.31.0","1.30.1","1.30.0","1.29.5","1.29.0","1.28.2","1.28.1","1.28.0","1.27.0","1.26.0","1.25.0","1.24.0","1.23.0","1.22.0","1.21.1","1.20.1","1.19.0","1.18.0","1.17.1","1.17.0","1.16.1","1.15.2","1.15.1","1.15.0","1.14.2","1.14.0","1.13.1"],"description":"Develop OData V2 services with SAP Cloud Platform SDK for service development"},{"artifactId":"odatav4","groupId":"com.sap.cloud.servicesdk.archetypes","versions":["1.40.11","1.40.6","1.40.2","1.40.1","1.40.0","1.39.3","1.39.0","1.38.0","1.37.1","1.37.0","1.36.2","1.36.1","1.36.0","1.35.4","1.35.2","1.35.0","1.34.8","1.34.7","1.34.4","1.34.1","1.33.14","1.33.13","1.33.0","1.32.5","1.32.3","1.32.0","1.31.3","1.31.2","1.31.1","1.31.0","1.30.1","1.30.0","1.29.5","1.29.0","1.28.2","1.28.1","1.28.0","1.27.0","1.26.0","1.25.0","1.24.0","1.23.0","1.22.0","1.21.1","1.20.1","1.19.0","1.18.0","1.17.1","1.17.0","1.16.1","1.15.2","1.15.1","1.15.0","1.14.2","1.14.0","1.13.1"],"description":"Develop OData V4 services with SAP Cloud Platform SDK for service development"},{"artifactId":"odatav4-sample","groupId":"com.sap.cloud.servicesdk.archetypes","versions":["1.40.11","1.40.6","1.40.2","1.40.1","1.40.0","1.39.3","1.39.0","1.38.0","1.37.1","1.37.0","1.36.2","1.36.1","1.36.0","1.35.4","1.35.2","1.35.0","1.34.8","1.34.7","1.34.4","1.34.1","1.33.14","1.33.13","1.33.0","1.32.5","1.32.3","1.32.0","1.31.3","1.31.2","1.31.1","1.31.0","1.30.1","1.30.0","1.29.5","1.29.0","1.28.2","1.28.1","1.28.0","1.27.0","1.26.0","1.25.0","1.24.0","1.23.0","1.22.0","1.21.1","1.20.1","1.19.0","1.18.0","1.17.1","1.17.0","1.16.1","1.15.2","1.15.1","1.15.0","1.14.2","1.14.0","1.13.1"],"description":"Contains a sample OData V4 service that mashes up data from OData V2 and HANA for your reference"},{"artifactId":"odatav2","groupId":"com.sap.cloud.servicesdk.prov","versions":["1.15.2","1.15.1","1.15.0","1.14.2","1.14.0","1.13.1"],"description":"SAP Cloud Platform SDK for service development"},{"artifactId":"service-sdk-jersey-spring-archetype","groupId":"com.sap.cloud.yaas.service-sdk","versions":["4.17.1","4.17.0","4.16.0","4.15.0","4.14.0","4.13.7","4.13.6","4.12.1","4.12.0","4.11.3","4.11.2","4.11.0","4.10.1","4.10.0","4.9.1","4.9.0","4.8.1","4.8.0","4.7.0","4.6.1","4.5.2","4.5.1","4.5.0","4.4.0","4.3.5","4.3.4"],"description":"hybris maven archetype for a basic YaaS Service"},{"artifactId":"service-sdk-jersey-spring-base-archetype","groupId":"com.sap.cloud.yaas.service-sdk","versions":["4.17.1","4.17.0","4.16.0","4.15.0","4.14.0","4.13.7","4.13.6","4.12.1"],"description":"hybris maven archetype for a basic YaaS Service"},{"artifactId":"service-sdk-spring-boot-archetype","groupId":"com.sap.cloud.yaas.service-sdk","versions":["4.17.1","4.17.0","4.16.0","4.15.0","4.14.0","4.13.7","4.13.6"],"description":"hybris maven archetype for a basic Spring Boot YaaS Service"},{"artifactId":"quickstart-seleniumrc-junit","groupId":"com.saucelabs","versions":["2.1.25","2.1.24","2.1.23","2.1.22","2.1.21","2.1.20","2.1.19","2.1.18","2.1.17","2.1.16","2.1.15","2.1.14","2.1.13","2.1.10","2.1.9","2.1.8"]},{"artifactId":"quickstart-seleniumrc-testng","groupId":"com.saucelabs","versions":["2.1.25","2.1.24","2.1.23","2.1.22","2.1.21","2.1.20","2.1.19","2.1.18","2.1.17","2.1.16","2.1.15","2.1.14","2.1.13","2.1.10","2.1.9","2.1.8"]},{"artifactId":"quickstart-webdriver-junit","groupId":"com.saucelabs","versions":["2.1.25","2.1.24","2.1.23","2.1.22","2.1.21","2.1.20","2.1.19","2.1.18","2.1.17","2.1.16","2.1.15","2.1.14","2.1.13","2.1.10","2.1.9","2.1.8"]},{"artifactId":"quickstart-webdriver-testng","groupId":"com.saucelabs","versions":["2.1.25","2.1.24","2.1.23","2.1.22","2.1.21","2.1.20","2.1.19","2.1.18","2.1.17","2.1.16","2.1.15","2.1.14","2.1.13","2.1.10","2.1.9","2.1.8"]},{"artifactId":"dd-webapp-archetype","groupId":"com.sdl.delivery.ish","versions":["1.2.0","1.1.0","1.0.1","1.0.0","0.2.0","0.1.2","0.1.1","0.1.0"],"description":"Example web application for DITA Delivery"},{"artifactId":"dxa-webapp-archetype","groupId":"com.sdl.dxa","versions":["2.2.31","2.2.30","2.2.29","2.2.28","2.2.27","2.2.26","2.2.25","2.2.24","2.2.23","2.2.22","2.2.21","2.2.20","2.2.18","2.2.17","2.2.16","2.2.15","2.2.11","2.2.5","2.2.3","2.2.2","2.2.1","2.2.0","2.1.1","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","2.0.0-CTP2","2.0.0-CTP1","1.8.0","1.7.0","1.6.0","1.5.0","1.4.1","1.4.0","1.3.0"],"description":"Example web application for DXA"},{"artifactId":"tcf-archetype","groupId":"com.sdl.tridion.connectorframework","versions":["42.0.0-1","42.0.0","11.5.0-1000","11.1.0-1005","11.1.0-1004"],"description":"Archetype to create RWS Tridion connectors"},{"artifactId":"seezoon-application-archetype","groupId":"com.seezoon","versions":["1.0.3","1.0.1"]},{"artifactId":"jersey-swagger-archetype","groupId":"com.seismicgames","versions":["1.0.2","1.0.1","1.0.0"],"description":"A Jersey/Swagger/Grizzly RESTful API Archetype"},{"artifactId":"gxt-basic-support-41x-archetype","groupId":"com.sencha.gxt.archetypes","versions":["4.1.2","4.1.1","4.1.0"],"description":"Very basic GXT maven setup"},{"artifactId":"gxt-basic-support-4x-archetype","groupId":"com.sencha.gxt.archetypes","versions":["1.0.2"],"description":"Very basic GXT maven setup"},{"artifactId":"gxt-theme-40x-archetype","groupId":"com.sencha.gxt.archetypes","versions":["1.0.5"],"description":"GXT project with custom theme setup"},{"artifactId":"gxt-theme-41x-archetype","groupId":"com.sencha.gxt.archetypes","versions":["4.1.2","4.1.1","4.1.0"],"description":"GXT project with custom theme setup"},{"artifactId":"severell-archetype","groupId":"com.severell","versions":["0.0.2","0.0.1"]},{"artifactId":"spring-boost","groupId":"com.shedhack.tool","versions":["3.0.0","2.1.0","2.0.3","2.0.2","2.0.1","2.0.0","1.5.0","1.4.1","1.4.0","1.3.0","1.2.2","1.2.1","1.2.0","1.1.0","1.0.1"],"description":"Maven Archetype to generate a Spring Boot Application"},{"artifactId":"djamma-archetype","groupId":"com.shinitech.djammadev","versions":["1.8"]},{"artifactId":"qq-robot-plugin-maven","groupId":"com.shr25.robot","versions":["1.0.0"],"description":"快速创建shr25机器人插件模板"},{"artifactId":"jvxapplication-archetype","groupId":"com.sibvisions.jvx","versions":["2.7","2.5.1","2.4","2.3","2.2","2.1.1","2.1","2.0","1.2.1","1.2.0","1.1.10","1.1.9","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1"],"description":"A preconfigured setup for a JVx application"},{"artifactId":"archetype-ctrl","groupId":"com.silentier","versions":["0.0.3"],"description":"Archetype for controllers to access directly to bd. Backend microservice"},{"artifactId":"archetype-single","groupId":"com.silentier","versions":["0.0.4","0.0.3","0.0.2","0.0.1"],"description":"Generic archetype with without modules"},{"artifactId":"archetype-ui-simple","groupId":"com.silentier","versions":["0.0.4"],"description":"Archetype for frontends who use resources/static and resources/templates"},{"artifactId":"quick-java-archetype","groupId":"com.singingbush","versions":["0.1.2","0.1.0"],"description":"Creates a new project with slf4j & log4j2"},{"artifactId":"aem-project-archetype","groupId":"com.sinnerschrader.aem.react","versions":["10.3","10.2"],"description":"React AEM archetype. Fork of AEM multi-module archetype."},{"artifactId":"javafx-xtend-archetype","groupId":"com.sirolf2009","versions":["0.0.1"],"description":"An archetype for building javafx apps with XTend"},{"artifactId":"fitnesse-quickstart","groupId":"com.sitture","versions":["2.1.1","2.1.0","2.0.0","1.2.0","1.1.0","1.0.2","1.0.1","1.0.0"],"description":"An archetype that can be used to generate a Maven based FitNesse project."},{"artifactId":"cq-deploy-plugin","groupId":"com.sixdimensions.wcm.cq","versions":["0.1.8","0.1.5","0.1.4","0.1.3"],"description":"Maven plugin for automating code deployments to Adobe CQ."},{"artifactId":"slipstream-module","groupId":"com.sixsq.slipstream","versions":["1.2","1.1","1.0"]},{"artifactId":"xo-neo4j-quickstart","groupId":"com.smb-tec.xo.archetypes","versions":["0.0.2","0.0.1"],"description":"Creates a skeleton for an XO application using the Neo4j graph database backend."},{"artifactId":"solr-multicore-archetype","groupId":"com.sourcesense.solr","versions":["1.0.2","1.0.1","1.0.0"]},{"artifactId":"solr-standalone-archetype","groupId":"com.sourcesense.solr","versions":["1.0.2","1.0.1","1.0.0"]},{"artifactId":"speedment-archetype-basic","groupId":"com.speedment","versions":["2.2.3","2.2.2","2.2.1","2.2.0","2.1.2","2.1.1","2.1.0"]},{"artifactId":"speedment-archetype-mariadb","groupId":"com.speedment","versions":["2.3.7","2.3.6","2.3.5","2.3.3","2.3.2","2.3.0"]},{"artifactId":"speedment-archetype-mysql","groupId":"com.speedment","versions":["2.3.7","2.3.6","2.3.5","2.3.3","2.3.2","2.3.0"]},{"artifactId":"speedment-archetype-postgresql","groupId":"com.speedment","versions":["2.3.7","2.3.6","2.3.5","2.3.3","2.3.2","2.3.0"]},{"artifactId":"speedment-archetype-mariadb","groupId":"com.speedment.archetypes","versions":["3.1.0","3.0.22","3.0.21","3.0.20","3.0.19","3.0.18","3.0.17","3.0.16","3.0.15","3.0.14","3.0.13","3.0.12","3.0.11","3.0.10","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","3.0.0-EA","3.0.0-EA2"]},{"artifactId":"speedment-archetype-mysql","groupId":"com.speedment.archetypes","versions":["3.1.0","3.0.22","3.0.21","3.0.20","3.0.19","3.0.18","3.0.17","3.0.16","3.0.15","3.0.14","3.0.13","3.0.12","3.0.11","3.0.10","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","3.0.0-EA","3.0.0-EA2"]},{"artifactId":"speedment-archetype-postgresql","groupId":"com.speedment.archetypes","versions":["3.1.0","3.0.22","3.0.21","3.0.20","3.0.19","3.0.18","3.0.17","3.0.16","3.0.15","3.0.14","3.0.13","3.0.12","3.0.11","3.0.10","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","3.0.0-EA","3.0.0-EA2"]},{"artifactId":"testengineer-api","groupId":"com.spirit-testing.testoffice","versions":["1.0.1","1.0.0"],"description":"Facilitates the creation of project-specific commands for testOFFICE by SPIRIT-Testing Software und\n Services GmbH"},{"artifactId":"omelet-archetype","groupId":"com.springer","versions":["1.0.12","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6"],"description":"static file generator for omelet"},{"artifactId":"omelet-archetype-simple","groupId":"com.springer","versions":["1.0.4"],"description":"Automation library for Selenium built on top of TestNg"},{"artifactId":"restexpress-cassandra","groupId":"com.strategicgains.archetype","versions":["1.18","1.17","1.16","1.15","1.14","1.13","1.12","1.11","1.10","1.9","1.8"],"description":"A Basic, Cassandra-backed Service Suite"},{"artifactId":"restexpress-minimal","groupId":"com.strategicgains.archetype","versions":["1.18","1.17","1.16","1.15","1.14","1.13","1.12","1.11","1.10","1.9","1.8"],"description":"A Minimal RestExpress Server"},{"artifactId":"restexpress-mongodb","groupId":"com.strategicgains.archetype","versions":["1.18","1.17","1.16","1.15","1.14","1.13","1.12","1.11","1.10","1.9","1.8"],"description":"A Basic, MongoDB-backed Service Suite"},{"artifactId":"restexpress-scaffold-minimal","groupId":"com.strategicgains.archetype","versions":["1.7","1.6","1.5","1.4","1.3","1.2","1.1","1.0"],"description":"A Minimal RestExpress Server"},{"artifactId":"restexpress-scaffold-mongodb","groupId":"com.strategicgains.archetype","versions":["1.7","1.6","1.5","1.4","1.3","1.2","1.1","1.0"],"description":"A Basic, MongoDB-backed Service Suite"},{"artifactId":"streamsets-datacollector-stage-lib-tutorial","groupId":"com.streamsets","versions":["5.3.0","3.22.3","3.22.2","3.22.1","3.22.0","3.20.0","3.19.0","3.18.1","3.18.0","3.17.1","3.17.0","3.16.0","3.15.0","3.14.0","3.13.0","3.12.0","3.11.0","3.10.1","3.10.0","3.9.1","3.9.0","3.8.2","3.8.1","3.8.0","3.7.2","3.7.1","3.7.0","3.6.2","3.6.1","3.6.0","3.5.2","3.5.1","3.5.0","3.4.3","3.4.2","3.4.1","3.4.0","3.3.1","3.3.0","1.1.4","1.1.3","1.1.2","1.1.1","3.2.0.0","3.1.3.0","3.1.2.0","3.1.1.0","3.1.0.0","3.0.3.0","3.0.2.0","3.0.1.0","3.0.0.0","2.7.2.1","2.7.2.0","2.7.1.1","2.7.1.0","2.7.0.0","2.6.0.1","2.6.0.0","2.5.1.1","2.5.1.0","2.5.0.0","2.4.1.0","2.4.0.0","2.3.0.1","2.3.0.0","2.2.1.0","2.2.0.0","2.1.0.2","2.1.0.1","2.1.0.0","2.0.0.0","1.6.0.0","1.5.1.3","1.5.1.2","1.5.1.1","1.5.1.0","1.5.0.0","1.4.0.0","1.3.0.2","1.3.0.1","1.3.0.0","1.2.2.0","1.2.0.0"],"description":"StreamSets Stage Library Archetype"},{"artifactId":"stage-lib","groupId":"com.streamsets.datacollector.archetype","versions":["1.1.0"],"description":"StreamSets Stage Library Archetype"},{"artifactId":"faces-2.1-test-war-archetype","groupId":"com.sun.faces","versions":["0.1"],"description":"Archetype to create automated test based on JSF 2.1"},{"artifactId":"faces-2.2-test-war-archetype","groupId":"com.sun.faces","versions":["0.2","0.1"],"description":"Create a JSF 2.2 vanilla app."},{"artifactId":"i_jsf_XXXX-archetype","groupId":"com.sun.faces.regression","versions":["1.0"]},{"artifactId":"i_jsf_xxxx_htmlunit-archetype","groupId":"com.sun.faces.test","versions":["1.0"]},{"artifactId":"jersey-quickstart-ejb","groupId":"com.sun.jersey.archetypes","versions":["1.19.4","1.19.3","1.19.2","1.19.1","1.19","1.18.6","1.18.5","1.18.4","1.18.3","1.18.2","1.18.1","1.18","1.17.1","1.17","1.16","1.15","1.14","1.13","1.13-b01","1.12","1.12-b01","1.11.2","1.11.1","1.11","1.11-b04","1.11-b03","1.11-b02","1.11-b01","1.10","1.10-b05","1.10-b04","1.10-b03","1.10-b02","1.10-b01","1.9.1","1.9","1.9-ea07","1.9-ea06","1.9-ea04","1.9-ea03","1.9-ea02","1.9-ea01","1.8","1.8-ea04","1.8-ea03","1.8-ea02","1.8-ea01","1.7","1.7-ea07","1.7-ea06","1.7-ea05","1.7-ea04","1.7-ea03","1.7-ea02","1.7-ea01","1.6","1.6-ea06","1.6-ea05","1.6-ea04","1.6-ea03","1.6-ea02","1.6-ea01","1.5","1.5-ea09","1.5-ea08","1.5-ea07","1.5-ea06","1.5-ea05","1.5-ea04","1.5-ea03","1.5-ea02","1.5-ea01","1.4","1.4-ea06","1.4-ea05","1.4-ea04","1.4-ea03","1.4-ea02","1.4-ea01","1.3","1.2","1.1.5","1.1.4","1.1.5.2","1.1.5.1","1.1.4.1"],"description":"An archetype which contains a simple Jersey based EJB project."},{"artifactId":"jersey-quickstart-grizzly","groupId":"com.sun.jersey.archetypes","versions":["1.19.4","1.19.3","1.19.2","1.19.1","1.19","1.18.6","1.18.5","1.18.4","1.18.3","1.18.2","1.18.1","1.18","1.17.1","1.17","1.16","1.15","1.14","1.13","1.13-b01","1.12","1.12-b01","1.11.2","1.11.1","1.11","1.11-b04","1.11-b03","1.11-b02","1.11-b01","1.10","1.10-b05","1.10-b04","1.10-b03","1.10-b02","1.10-b01","1.9.1","1.9","1.9-ea07","1.9-ea06","1.9-ea04","1.9-ea03","1.9-ea02","1.9-ea01","1.8","1.8-ea04","1.8-ea03","1.8-ea02","1.8-ea01","1.7","1.7-ea07","1.7-ea06","1.7-ea05","1.7-ea04","1.7-ea03","1.7-ea02","1.7-ea01","1.6","1.6-ea06","1.6-ea05","1.6-ea04","1.6-ea03","1.6-ea02","1.6-ea01","1.5","1.5-ea09","1.5-ea08","1.5-ea07","1.5-ea06","1.5-ea05","1.5-ea04","1.5-ea03","1.5-ea02","1.5-ea01","1.4","1.4-ea06","1.4-ea05","1.4-ea04","1.4-ea03","1.4-ea02","1.4-ea01","1.3","1.2","1.1.5","1.1.4","1.1.3-ea","1.1.2-ea","1.1.1-ea","1.1.0-ea","1.0.3","1.0.2","1.0.1","1.1.5.2","1.1.5.1","1.1.4.1","1.0.3.1"],"description":"An archetype which contains a quickstart Jersey project based on Grizzly container."},{"artifactId":"jersey-quickstart-grizzly2","groupId":"com.sun.jersey.archetypes","versions":["1.19.4","1.19.3","1.19.2","1.19.1","1.19","1.18.6","1.18.5","1.18.4","1.18.3","1.18.2","1.18.1","1.18","1.17.1","1.17","1.16","1.15","1.14","1.13","1.13-b01","1.12","1.12-b01","1.11.2","1.11.1","1.11","1.11-b04","1.11-b03","1.11-b02","1.11-b01","1.10","1.10-b05","1.10-b04","1.10-b03","1.10-b02","1.10-b01","1.9.1","1.9","1.9-ea07","1.9-ea06","1.9-ea04","1.9-ea03","1.9-ea02","1.9-ea01","1.8","1.8-ea04","1.8-ea03","1.8-ea02","1.8-ea01","1.7","1.7-ea07","1.7-ea06","1.7-ea05"],"description":"An archetype which contains a quickstart Jersey project based on Grizzly2 container."},{"artifactId":"jersey-quickstart-webapp","groupId":"com.sun.jersey.archetypes","versions":["1.19.4","1.19.3","1.19.2","1.19.1","1.19","1.18.6","1.18.5","1.18.4","1.18.3","1.18.2","1.18.1","1.18","1.17.1","1.17","1.16","1.15","1.14","1.13","1.13-b01","1.12","1.12-b01","1.11.2","1.11.1","1.11","1.11-b04","1.11-b03","1.11-b02","1.11-b01","1.10","1.10-b05","1.10-b04","1.10-b03","1.10-b02","1.10-b01","1.9.1","1.9","1.9-ea07","1.9-ea06","1.9-ea04","1.9-ea03","1.9-ea02","1.9-ea01","1.8","1.8-ea04","1.8-ea03","1.8-ea02","1.8-ea01","1.7","1.7-ea07","1.7-ea06","1.7-ea05","1.7-ea04","1.7-ea03","1.7-ea02","1.7-ea01","1.6","1.6-ea06","1.6-ea05","1.6-ea04","1.6-ea03","1.6-ea02","1.6-ea01","1.5","1.5-ea09","1.5-ea08","1.5-ea07","1.5-ea06","1.5-ea05","1.5-ea04","1.5-ea03","1.5-ea02","1.5-ea01","1.4","1.4-ea06","1.4-ea05","1.4-ea04","1.4-ea03","1.4-ea02","1.4-ea01","1.3","1.2","1.1.5","1.1.4","1.1.3-ea","1.1.2-ea","1.1.1-ea","1.1.0-ea","1.0.3","1.0.2","1.0.1","1.1.5.2","1.1.5.1","1.1.4.1","1.0.3.1"],"description":"An archetype which contains a sample Jersey based Webapp project."},{"artifactId":"mep-connector-archetype-rar","groupId":"com.sun.mep","versions":["1.1_01"],"description":"Maven archetype to create a RAR-based connector for the Sun GlassFish Mobility Platform version 1.1_01."},{"artifactId":"mep-connector-jaxrs-archetype-rar","groupId":"com.sun.mep","versions":["1.1_01"],"description":"Maven archetype to create a JAXRS-based connector for the Sun GlassFish Mobility Platform version 1.1_01."},{"artifactId":"mep-connector-jaxws-archetype-rar","groupId":"com.sun.mep","versions":["1.1_01"],"description":"Maven archetype to create a JAXWS-based connector for the Sun GlassFish Mobility Platform version 1.1_01."},{"artifactId":"autotest.web.framework.archetype","groupId":"com.surenpi.autotest","versions":["2.0.3","2.0.2","2.0.1-20180106","2.0.0-20170706","1.0.2-20170610","1.0.2-20170422"],"description":"WebUI自动化测试框架骨架"},{"artifactId":"itest-sample-s30-archetype","groupId":"com.taobao.itest","versions":["1.0"]},{"artifactId":"bukkit-plugin-archetype","groupId":"com.tealcube.minecraft.bukkit","versions":["0.0.6","0.0.5"],"description":"A Bukkit plugin archetype for Teal Cube plugins and libraries."},{"artifactId":"gemini-resin-archetype","groupId":"com.techempower","versions":["3.3.11","3.3.10","3.3.9","3.3.8","3.3.7","3.3.6","3.3.5","3.3.4","3.3.3","3.3.2","3.3.1","3.3.0","3.2.0","3.1.0","3.0.3","3.0.2","3.0.1","3.0.0","2.25.2","2.25.1","2.25.0","2.24.1","2.24.0","2.23.2","2.23.1","2.23.0","2.22.0","2.21.1","2.21.0"],"description":"An archetype project for building Gemini applications."},{"artifactId":"gae-jersey-guice-archetype","groupId":"com.tectonica","versions":["1.1","1.0"],"description":"Maven archetype for generating skeleton Google-App-engine application that uses Jersey, Jackson and Guice"},{"artifactId":"kibbutz-plugin-archetype","groupId":"com.testsigma","versions":["1.0.11","1.0.9","1.0.8","1.0.7","1.0.5","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Archetype used to generate Testsigma SDK Plugin"},{"artifactId":"testsigma-addon-archetype","groupId":"com.testsigma","versions":["1.0.2","1.0.1","1.0.0.rc1"],"description":"Archetype used to generate Testsigma SDK Plugin"},{"artifactId":"kibbutz-plugin-archetype","groupId":"com.testsigma.kibbutz.archetypes","versions":["1.0.0"],"description":"Archetype used to generate Testsigma SDK Plugin"},{"artifactId":"archetype-java-basic-tpd","groupId":"com.thepracticaldeveloper","versions":["1.0.0"],"description":"A basic Java Archetype for Java 1.8 and 9. It contains some\n commonly-used test libraries and creates an executable JAR file by default."},{"artifactId":"dropwizard_archetype","groupId":"com.thesett.archetype","versions":["0.9.120","0.9.102","0.9.84"],"description":"Archetype for setting up a DropWizard codegen project."},{"artifactId":"theta-chain-module","groupId":"com.thetachain","versions":["0.1.0"],"description":"This Archetype is a fast and simple way to setup a Theta-Chain development environment."},{"artifactId":"gauge-archetype-java","groupId":"com.thoughtworks.gauge.maven","versions":["1.5.9","1.5.8","1.5.7","1.5.6","1.5.3","1.5.2","1.5.0","1.4.0","1.3.0","1.2.1","1.2.0","1.1.0","1.0.1","1.0"],"description":"Archetype for Gauge Java"},{"artifactId":"gauge-archetype-selenium","groupId":"com.thoughtworks.gauge.maven","versions":["1.5.9","1.5.8","1.5.7","1.5.6","1.5.3","1.5.2","1.5.0","1.4.0","1.3.0","1.2.2","1.2.1","1.2.0","1.1.0","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0"],"description":"Archetype for Gauge Java with Selenium"},{"artifactId":"gauge-maven-plugin","groupId":"com.thoughtworks.gauge.maven","versions":["1.5.0","1.4.3","1.4.2","1.4.1","1.4.0","1.3.4","1.3.3","1.3.2","1.3.1","1.3.0","1.2.1","1.2.0","1.1.0","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"A maven plugin to execute gauge specs in the project"},{"artifactId":"tqlab-sense-archetype","groupId":"com.tqlab.sense","versions":["1.0.0"],"description":"tqlab sense archetype"},{"artifactId":"jquiver","groupId":"com.trigyn","versions":["1.20","1.10","1.9","1.8","1.7","1.6","1.5","1.3","1.2","1.1","1.0"],"description":"JQuiver"},{"artifactId":"jquiver-archetype","groupId":"com.trigyn","versions":["1.0"],"description":"JQuiver Archetype"},{"artifactId":"ezyfox-server-archetype","groupId":"com.tvd12","versions":["1.2.6","1.2.5","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.9","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.0"],"description":"An archetype which contains an ezyfox-server sample"},{"artifactId":"ezyfox-sfs2x-archetype","groupId":"com.tvd12","versions":["1.1.1","1.1.0","1.0.0"],"description":"Support to create smartfox game application project (use ezyfox) quickly"},{"artifactId":"maven-simple-archetype","groupId":"com.tvd12","versions":["1.0.2","1.0.1","1.0.0"],"description":"An archetype which supports to create a maven project quickly"},{"artifactId":"dropwizard-kotlin","groupId":"com.udaan.archetypes","versions":["1.2.0","1.1.1","1.1.0"],"description":"Maven archetype for Kotlin based Dropwizard applications"},{"artifactId":"server-sdk-archetype","groupId":"com.unboundid","versions":["1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.8","1.0.3"],"description":"A Maven archetype that can generate a project for building an\n UnboundID Server SDK extension bundle."},{"artifactId":"samples-parent-archetype","groupId":"com.upcwangying.cloud.samples","versions":["0.2.2","0.2.1","0.2.0","0.1.2","0.1.1","0.1.0","0.3.1.RELEASE","0.3.0.RELEASE"],"description":"Spring Cloud Samples Archetype"},{"artifactId":"vaadin-archetype-addon","groupId":"com.vaadin","versions":["0.0.2","0.0.1"],"description":"This archetype generates a multi-module Vaadin add-on project for Vaadin 6.5+ with a test/demo application and a documentation module.\n Packaging the add-on as ZIP is supported."},{"artifactId":"vaadin-archetype-application","groupId":"com.vaadin","versions":["23.3.6","23.3.5","23.3.4","23.3.3","23.3.2","23.3.1","23.3.0","23.2.15","23.2.14","23.2.13","23.2.12","23.2.11","23.2.10","23.2.9","23.2.8","23.2.7","23.2.6","23.2.5","23.2.4","23.2.3","23.2.2","23.2.1","23.2.0","23.1.17","23.1.16","23.1.15","23.1.14","23.1.13","23.1.12","23.1.11","23.1.10","23.1.9","23.1.8","23.1.7","23.1.6","23.1.4","23.1.3","23.1.2","23.1.1","23.1.0","23.0.16","23.0.15","23.0.14","23.0.13","23.0.12","23.0.11","23.0.10","23.0.9","23.0.8","23.0.7","23.0.6","23.0.5","23.0.4","23.0.3","23.0.2","23.0.1","23.0.0","22.0.28","22.0.27","22.0.26","22.0.25","22.0.24","22.0.23","22.0.22","22.0.21","22.0.20","22.0.18","22.0.17","22.0.16","22.0.15","22.0.14","22.0.13","22.0.12","22.0.11","22.0.10","22.0.9","22.0.8","22.0.7","22.0.6","22.0.5","22.0.4","22.0.3","22.0.2","22.0.1","22.0.0","21.0.9","21.0.8","21.0.7","21.0.6","21.0.5","21.0.4","21.0.3","21.0.2","21.0.1","21.0.0","20.0.8","20.0.7","20.0.6","20.0.5","20.0.4","20.0.3","20.0.2","20.0.1","20.0.0","19.0.9","19.0.8","19.0.7","19.0.6","19.0.5","19.0.4","19.0.3","19.0.2","19.0.1","19.0.0","16.0.0","14.9.6","14.9.5","14.9.4","14.9.3","14.9.2","14.9.1","14.9.0","14.8.20","14.8.19","14.8.18","14.8.17","14.8.16","14.8.15","14.8.14","14.8.13","14.8.12","14.8.11","14.8.10","14.8.9","14.8.8","14.8.7","14.8.6","14.8.5","14.8.4","14.8.3","14.8.2","14.8.1","14.8.0","14.7.8","14.7.7","14.7.6","14.7.5","14.7.4","14.7.3","14.7.2","14.7.1","14.7.0","14.6.9","14.6.8","14.6.7","14.6.6","14.6.5","14.6.4","14.6.3","14.6.2","14.6.1","14.6.0","14.5.5","14.5.4","14.5.3","14.5.2","14.5.1","14.5.0","14.4.10","14.4.9","14.4.8","14.4.7","14.4.6","14.4.5","14.4.4","14.4.3","14.4.2","14.4.1","14.4.0","14.3.9","14.3.7","14.3.6","14.3.5","14.3.4","14.3.3","14.3.2","14.3.0","14.2.3","14.2.2","14.2.0","14.1.28","14.1.27","14.1.26","14.1.25","14.1.24","14.1.23","14.1.22","14.1.21","14.1.20","14.1.19","14.1.18","14.1.17","14.1.5","14.1.4","14.1.3","14.1.2","14.1.1","14.1.0","14.0.15","14.0.14","14.0.13","14.0.12","14.0.11","14.0.10","14.0.9","14.0.8","14.0.7","14.0.6","14.0.5","14.0.4","14.0.3","14.0.2","14.0.1","14.0.0","13.0.13","13.0.12","13.0.11","13.0.10","13.0.9","13.0.8","13.0.7","13.0.6","13.0.5","13.0.4","13.0.3","13.0.2","8.14.3","8.14.2","8.14.1","8.14.0","8.13.3","8.13.2","8.13.1","8.13.0","8.12.4","8.12.3","8.12.2","8.12.1","8.12.0","8.11.3","8.11.2","8.11.1","8.11.0","8.10.5","8.10.4","8.10.3","8.10.2","8.10.1","8.10.0","8.9.4","8.9.3","8.9.2","8.9.1","8.9.0","8.8.6","8.8.5","8.8.4","8.8.3","8.8.2","8.8.1","8.8.0","8.7.2","8.7.1","8.7.0","8.6.4","8.6.3","8.6.2","8.6.1","8.6.0","8.5.2","8.5.1","8.5.0","8.4.5","8.4.4","8.4.3","8.4.2","8.4.1","8.4.0","8.3.3","8.3.2","8.3.1","8.3.0","8.2.1","8.2.0","8.1.8","8.1.7","8.1.6","8.1.5","8.1.4","8.1.3","8.1.2","8.1.1","8.1.0","8.0.7","8.0.6","8.0.5","8.0.4","8.0.3","8.0.2","8.0.1","8.0.0","7.7.38","7.7.37","7.7.36","7.7.35","7.7.34","7.7.33","7.7.32","7.7.31","7.7.30","7.7.29","7.7.28","7.7.27","7.7.26","7.7.25","7.7.24","7.7.23","7.7.17","7.7.16","7.7.15","7.7.14","7.7.13","7.7.12","7.7.11","7.7.10","7.7.9","7.7.8","7.7.7","7.7.6","7.7.5","7.7.4","7.7.3","7.7.2","7.7.1","7.7.0","7.6.8","7.6.7","7.6.6","7.6.5","7.6.4","7.6.3","7.6.2","7.6.1","7.6.0","7.5.10","7.5.9","7.5.8","7.5.7","7.5.6","7.5.5","7.5.4","7.5.3","7.5.2","7.5.1","7.5.0","7.4.8","7.4.7","7.4.6","7.4.5","7.4.4","7.4.3","7.4.2","7.4.1","7.4.0","7.3.10","7.3.9","7.3.8","7.3.7","7.3.6","7.3.5","7.3.4","7.3.3","7.3.2","7.3.1","7.3.0","7.2.7","7.2.6","7.2.5","7.2.4","7.2.3","7.2.2","7.2.1","7.2.0","7.1.15","7.1.14","7.1.13","7.1.12","7.1.11","7.1.10","7.1.9","7.1.8","7.1.7","7.1.6","7.1.5","7.1.4","7.1.3","7.1.2","7.1.1","7.1.0","7.0.7","7.0.6","7.0.5","7.0.4","7.0.3","7.0.2","7.0.1","7.0.0","8.7.0.beta1","7.7.0.2","7.7.0.1","7.5.0.rc1","7.4.0.rc1","7.4.0.beta3","7.4.0.beta2","7.4.0.beta1","7.4.0.alpha9","7.4.0.alpha8","7.4.0.alpha7","7.4.0.alpha6","7.4.0.alpha5","7.4.0.alpha4","7.4.0.alpha3","7.4.0.alpha2","7.4.0.alpha1","7.4.0.alpha14","7.4.0.alpha13","7.4.0.alpha12","7.4.0.alpha11","7.4.0.alpha10","7.3.0.rc1","7.3.0.beta1","7.3.0.alpha3","7.3.0.alpha2","7.3.0.alpha1","7.2.0.beta1","7.1.0.beta1","7.0.0.rc2","7.0.0.rc1","7.0.0.beta9","7.0.0.beta8","7.0.0.beta7","7.0.0.beta6","7.0.0.beta5","7.0.0.beta4","7.0.0.beta3","7.0.0.beta2","7.0.0.beta1","7.0.0.beta11","7.0.0.beta10"],"description":"This archetype creates a Vaadin Flow application for basic\n servlet container and can be used as a project base."},{"artifactId":"vaadin-archetype-application-example","groupId":"com.vaadin","versions":["8.14.3","8.14.2","8.14.1","8.14.0","8.13.3","8.13.2","8.13.1","8.13.0","8.12.4","8.12.3","8.12.2","8.12.1","8.12.0","8.11.3","8.11.2","8.11.1","8.11.0","8.10.5","8.10.4","8.10.3","8.10.2","8.10.1","8.10.0","8.9.4","8.9.3","8.9.2","8.9.1","8.9.0","8.8.6","8.8.5","8.8.4","8.8.3","8.8.2","8.8.1","8.8.0","8.7.2","8.7.1","8.7.0","8.6.4","8.6.3","8.6.2","8.6.1","8.6.0","8.5.2","8.5.1","8.5.0","8.4.5","8.4.4","8.4.3","8.4.2","8.4.1","8.4.0","8.3.3","8.3.2","8.3.1","8.3.0","8.2.1","8.2.0","8.1.8","8.1.7","8.1.6","8.1.5","8.1.4","8.1.3","8.1.2","8.1.1","8.1.0","8.0.7","8.0.6","8.0.5","8.0.4","8.0.3","8.0.2","8.0.1","8.0.0","7.7.38","7.7.37","7.7.36","7.7.35","7.7.34","7.7.33","7.7.32","7.7.31","7.7.30","7.7.29","7.7.28","7.7.27","7.7.26","7.7.25","7.7.24","7.7.23","7.7.17","7.7.16","7.7.15","7.7.14","7.7.13","7.7.12","7.7.11","7.7.10","7.7.9","7.7.8","7.7.7","7.7.6","7.7.5","7.7.4","7.7.3","7.7.2","7.7.1","7.7.0","7.6.8","7.6.7","7.6.6","7.6.5","7.6.4","7.6.3","7.6.2","7.6.1","7.6.0","7.5.10","7.5.9","7.5.8","7.5.7","7.5.6","7.5.5","7.5.4","7.5.3","7.5.2","7.5.1","7.5.0","7.4.8","7.4.7","7.4.6","7.4.5","7.4.4","7.4.3","7.4.2","7.4.1","7.4.0","7.3.10","7.3.9","7.3.8","7.3.7","8.7.0.beta1","7.7.0.2","7.7.0.1","7.5.0.rc1","7.4.0.rc1","7.4.0.beta3","7.4.0.beta2","7.4.0.beta1"],"description":"This archetype generates a sample Vaadin application as a multi-module Maven project."},{"artifactId":"vaadin-archetype-application-multimodule","groupId":"com.vaadin","versions":["8.14.3","8.14.2","8.14.1","8.14.0","8.13.3","8.13.2","8.13.1","8.13.0","8.12.4","8.12.3","8.12.2","8.12.1","8.12.0","8.11.3","8.11.2","8.11.1","8.11.0","8.10.5","8.10.4","8.10.3","8.10.2","8.10.1","8.10.0","8.9.4","8.9.3","8.9.2","8.9.1","8.9.0","8.8.6","8.8.5","8.8.4","8.8.3","8.8.2","8.8.1","8.8.0","8.7.2","8.7.1","8.7.0","8.6.4","8.6.3","8.6.2","8.6.1","8.6.0","8.5.2","8.5.1","8.5.0","8.4.5","8.4.4","8.4.3","8.4.2","8.4.1","8.4.0","8.3.3","8.3.2","8.3.1","8.3.0","8.2.1","8.2.0","8.1.8","8.1.7","8.1.6","8.1.5","8.1.4","8.1.3","8.1.2","8.1.1","8.1.0","8.0.7","8.0.6","8.0.5","8.0.4","8.0.3","8.0.2","8.0.1","8.0.0","7.7.38","7.7.37","7.7.36","7.7.35","7.7.34","7.7.33","7.7.32","7.7.31","7.7.30","7.7.29","7.7.28","7.7.27","7.7.26","7.7.25","7.7.24","7.7.23","7.7.17","7.7.16","7.7.15","7.7.14","7.7.13","7.7.12","7.7.11","7.7.10","7.7.9","7.7.8","7.7.7","7.7.6","7.7.5","7.7.4","7.7.3","7.7.2","7.7.1","7.7.0","7.6.8","7.6.7","7.6.6","7.6.5","7.6.4","7.6.3","7.6.2","7.6.1","7.6.0","7.5.10","7.5.9","7.5.8","7.5.7","7.5.6","7.5.5","7.5.4","7.5.3","7.5.2","7.5.1","7.5.0","7.4.8","7.4.7","7.4.6","7.4.5","7.4.4","7.4.3","7.4.2","7.4.1","7.4.0","8.7.0.beta1","7.7.0.2","7.7.0.1","7.5.0.rc1","7.4.0.rc1","7.4.0.beta3"],"description":"This archetype generates the skeleton for a multi-module Vaadin application.\n For a full example project, see vaadin-archetype-application-example."},{"artifactId":"vaadin-archetype-clean","groupId":"com.vaadin","versions":["1.7.2","1.6.1","1.6.0","1.5.8","1.5.7","1.5.6","1.5.5","1.5.4","1.5.2","1.5.1","1.5.0","1.4.6","1.4.5","1.4.4","1.4.3","1.4.2","1.4.1","1.4.0","1.3.3","1.3.2","1.3.1","1.3.0","1.2.0","1.1.1","1.1.0"],"description":"This archetype generates a simple Vaadin application as a Maven project.\n No custom widgetset is included."},{"artifactId":"vaadin-archetype-jpacontainer","groupId":"com.vaadin","versions":["2.0.0","0.0.3","0.0.2","0.0.1"],"description":"This archetype generates a simple Vaadin application using JPAContainer as a Maven project."},{"artifactId":"vaadin-archetype-liferay-portlet","groupId":"com.vaadin","versions":["14.9.6","14.9.5","14.9.4","14.9.3","14.9.2","14.9.1","14.9.0","14.8.20","14.8.19","14.8.18","14.8.17","14.8.16","14.8.15","14.8.14","14.8.13","14.8.12","14.8.11","14.8.10","14.8.9","8.14.3","8.14.2","8.14.1","8.14.0","8.13.3","8.13.2","8.13.1","8.13.0","8.12.4","8.12.3","8.12.2","8.12.1","8.12.0","8.11.3","8.11.2","8.11.1","8.11.0","8.10.5","8.10.4","8.10.3","8.10.2","8.10.1","8.10.0","8.9.4","8.9.3","8.9.2","8.9.1","8.9.0","8.8.6","8.8.5","8.8.4","8.8.3","8.8.2","8.8.1","8.8.0","8.7.2","8.7.1","8.7.0","8.6.4","8.6.3","8.6.2","8.6.1","8.6.0","8.5.2","8.5.1","8.5.0","8.4.5","8.4.4","8.4.3","8.4.2","8.4.1","8.4.0","8.3.3","8.3.2","8.3.1","8.3.0","8.2.1","8.2.0","8.1.8","8.1.7","8.1.6","8.1.5","8.1.4","8.1.3","8.1.2","8.1.1","8.1.0","8.0.7","8.0.6","8.0.5","8.0.4","8.0.3","8.0.2","8.0.1","8.0.0","7.7.38","7.7.37","7.7.36","7.7.35","7.7.34","7.7.33","7.7.32","7.7.31","7.7.30","7.7.29","7.7.28","7.7.27","7.7.26","7.7.25","7.7.24","7.7.23","7.7.17","7.7.16","7.7.15","7.7.14","7.7.13","7.7.12","7.7.11","7.7.10","7.7.9","7.7.8","7.7.7","7.7.6","7.7.5","7.7.4","7.7.3","7.7.2","7.7.1","7.7.0","7.6.8","7.6.7","7.6.6","7.6.5","7.6.4","7.6.3","7.6.2","7.6.1","7.6.0","7.5.10","7.5.9","7.5.8","7.5.7","7.5.6","7.5.5","7.5.4","7.5.3","7.5.2","7.5.1","7.5.0","7.4.8","7.4.7","7.4.6","7.4.5","7.4.4","7.4.3","7.4.2","7.4.1","7.4.0","7.3.10","7.3.9","7.3.8","7.3.7","7.3.6","7.3.5","7.3.4","7.3.3","7.3.2","7.3.1","7.3.0","7.2.7","7.2.6","7.2.5","7.2.4","7.2.3","7.2.2","7.2.1","7.2.0","8.7.0.beta1","7.7.0.2","7.7.0.1","7.5.0.rc1","7.4.0.rc1","7.4.0.beta3","7.4.0.beta2","7.4.0.beta1","7.4.0.alpha9","7.4.0.alpha8","7.4.0.alpha7","7.4.0.alpha6","7.4.0.alpha5","7.4.0.alpha4","7.4.0.alpha3","7.4.0.alpha2","7.4.0.alpha14","7.4.0.alpha13","7.4.0.alpha12","7.4.0.alpha11","7.4.0.alpha10","7.3.0.rc1","7.3.0.beta1","7.3.0.alpha3"],"description":"This archetype creates a Vaadin Portlet project for Liferay 7.3+ container and can be used as a project base."},{"artifactId":"vaadin-archetype-liferay-shared","groupId":"com.vaadin","versions":["14.9.6","14.9.5","14.9.4","14.9.3","14.9.2","14.9.1","14.9.0","14.8.20","14.8.19","14.8.18","14.8.17","14.8.16","14.8.15","14.8.14","14.8.13","14.8.12","14.8.11","14.8.10","14.8.9"],"description":"This archetype creates a Vaadin Portlet shared static resource bundle WAR deployed into Liferay 7.3+ container\n and used by Vaadin Portlets also deployed in the same container."},{"artifactId":"vaadin-archetype-portlet","groupId":"com.vaadin","versions":["1.0.0"],"description":"This archetype creates a simple porlet with required Vaadin dependencies. In addition to standard JSR 286 configurations the archetype also adds liferay specific configuration files, but they shoudn't affect other portals."},{"artifactId":"vaadin-archetype-sample","groupId":"com.vaadin","versions":["1.7.2","1.6.1","1.6.0","1.5.8","1.5.7","1.5.6","1.5.5","1.5.4","1.5.2","1.5.1","1.5.0","1.4.6","1.4.5","1.4.4","1.4.3","1.4.2","1.4.1","1.4.0","1.3.3","1.3.2","1.3.0","1.2.0","1.1.1","1.1.0","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1"],"description":"This archetype generates a Vaadin application as a Maven project.\n The application contains a custom GWT widgetset that is compiled\n by the GWT compiler and integrated into the project as part of the\n build process. The application is based on the Vaadin Color Picker\n Demo application available at http://vaadin.com."},{"artifactId":"vaadin-archetype-spring-application","groupId":"com.vaadin","versions":["23.3.6","23.3.5","23.3.4","23.3.3","23.3.2","23.3.1","23.3.0","23.2.15","23.2.14","23.2.13","23.2.12","23.2.11","23.2.10","23.2.9","23.2.8","23.2.7","23.2.6","23.2.5","23.2.4","23.2.3","23.2.2","23.2.1","23.2.0","23.1.17","23.1.16","23.1.15","23.1.14","23.1.13","23.1.12","23.1.11","23.1.10","23.1.9","23.1.8","23.1.7","23.1.6","23.1.4","23.1.3","23.1.2","23.1.1","23.1.0","23.0.16","23.0.15","23.0.14","23.0.13","23.0.12","23.0.11","23.0.10","23.0.9","23.0.8","23.0.7","23.0.6","23.0.5","23.0.4","23.0.3","23.0.2","23.0.1","23.0.0","22.0.28","22.0.27","22.0.26","22.0.25","22.0.24","22.0.23","22.0.22","22.0.21","22.0.20","22.0.18","22.0.17","22.0.16","22.0.15","22.0.14","22.0.13","22.0.12","22.0.11","22.0.10","22.0.9","22.0.8","22.0.7","22.0.6","22.0.5","22.0.4","22.0.3","22.0.2","22.0.1","22.0.0","21.0.9","21.0.8","21.0.7","21.0.6","21.0.5","21.0.4","21.0.3","21.0.2","21.0.1","21.0.0","14.9.6","14.9.5","14.9.4","14.9.3","14.9.2","14.9.1","14.9.0","14.8.20","14.8.19","14.8.18","14.8.17","14.8.16","14.8.15","14.8.14","14.8.13","14.8.12","14.8.11","14.8.10","14.8.9","14.8.8","14.8.7","14.8.6","14.8.5","14.8.4","14.8.3","14.8.2","14.8.1","14.8.0","14.7.8","14.7.7","14.7.6","14.7.5","14.7.4","14.7.3","14.7.2","14.7.1","14.7.0","14.6.9"],"description":"This archetype creates a Vaadin Java application with Spring Boot."},{"artifactId":"vaadin-archetype-touchkit","groupId":"com.vaadin","versions":["4.0.0","3.0.0","3.0.0-beta1","1.0.1","1.0.0","0.1.1","0.1.0","4.0.0.rc1","4.0.0.beta1","4.0.0.alpha2","4.0.0.alpha1"],"description":"Generates a simple Vaadin application using TouchKit."},{"artifactId":"vaadin-archetype-widget","groupId":"com.vaadin","versions":["8.14.3","8.14.2","8.14.1","8.14.0","8.13.3","8.13.2","8.13.1","8.13.0","8.12.4","8.12.3","8.12.2","8.12.1","8.12.0","8.11.3","8.11.2","8.11.1","8.11.0","8.10.5","8.10.4","8.10.3","8.10.2","8.10.1","8.10.0","8.9.4","8.9.3","8.9.2","8.9.1","8.9.0","8.8.6","8.8.5","8.8.4","8.8.3","8.8.2","8.8.1","8.8.0","8.7.2","8.7.1","8.7.0","8.6.4","8.6.3","8.6.2","8.6.1","8.6.0","8.5.2","8.5.1","8.5.0","8.4.5","8.4.4","8.4.3","8.4.2","8.4.1","8.4.0","8.3.3","8.3.2","8.3.1","8.3.0","8.2.1","8.2.0","8.1.8","8.1.7","8.1.6","8.1.5","8.1.4","8.1.3","8.1.2","8.1.1","8.1.0","8.0.7","8.0.6","8.0.5","8.0.4","8.0.3","8.0.2","8.0.1","8.0.0","7.7.38","7.7.37","7.7.36","7.7.35","7.7.34","7.7.33","7.7.32","7.7.31","7.7.30","7.7.29","7.7.28","7.7.27","7.7.26","7.7.25","7.7.24","7.7.23","7.7.17","7.7.16","7.7.15","7.7.14","7.7.13","7.7.12","7.7.11","7.7.10","7.7.9","7.7.8","7.7.7","7.7.6","7.7.5","7.7.4","7.7.3","7.7.2","7.7.1","7.7.0","7.6.8","7.6.7","7.6.6","7.6.5","7.6.4","7.6.3","7.6.2","7.6.1","7.6.0","7.5.10","7.5.9","7.5.8","7.5.7","7.5.6","7.5.5","7.5.4","7.5.3","7.5.2","7.5.1","7.5.0","7.4.8","7.4.7","7.4.6","7.4.5","7.4.4","7.4.3","7.4.2","7.4.1","7.4.0","7.3.10","7.3.9","7.3.8","7.3.7","7.3.6","7.3.5","7.3.4","7.3.3","7.3.2","7.3.1","7.3.0","7.2.7","7.2.6","7.2.5","7.2.4","7.2.3","7.2.2","7.2.1","7.2.0","7.1.15","7.1.14","7.1.13","7.1.12","7.1.11","7.1.10","7.1.9","7.1.8","7.1.7","7.1.6","7.1.5","7.1.4","7.1.3","7.1.2","7.1.1","7.1.0","7.0.7","7.0.6","7.0.5","7.0.4","7.0.3","7.0.2","1.7.2","1.6.1","1.6.0","1.5.8","1.5.7","1.5.6","1.5.5","1.5.4","1.5.2","1.5.1","1.5.0","1.4.6","1.4.5","1.4.4","1.4.3","1.4.2","1.4.1","1.4.0","1.3.3","1.3.2","1.3.0","1.2.0","1.1.2","1.1.1","1.1.0","8.7.0.beta1","7.7.0.2","7.7.0.1","7.5.0.rc1","7.4.0.rc1","7.4.0.beta3","7.4.0.beta2","7.4.0.beta1","7.4.0.alpha9","7.4.0.alpha8","7.4.0.alpha7","7.4.0.alpha6","7.4.0.alpha5","7.4.0.alpha4","7.4.0.alpha3","7.4.0.alpha2","7.4.0.alpha1","7.4.0.alpha14","7.4.0.alpha13","7.4.0.alpha12","7.4.0.alpha11","7.4.0.alpha10","7.3.0.rc1","7.3.0.beta1","7.3.0.alpha3","7.3.0.alpha2","7.3.0.alpha1","7.2.0.beta1","7.1.0.beta1"],"description":"This archetype generates a Vaadin 7 widget project and a related demo application."},{"artifactId":"vaadin-maven-plugin","groupId":"com.vaadin","versions":["8.20.0","8.19.0","8.18.0","8.17.0","8.16.1","8.16.0","8.15.2","8.15.1","8.15.0","8.14.3","8.14.2","8.14.1","8.14.0","8.13.3","8.13.2","8.13.1","8.13.0","8.12.4","8.12.3","8.12.2","8.12.1","8.12.0","8.11.3","8.11.2","8.11.1","8.11.0","8.10.5","8.10.4","8.10.3","8.10.2","8.10.1","8.10.0","8.9.4","8.9.3","8.9.2","8.9.1","8.9.0","8.8.6","8.8.5","8.8.4","8.8.3","8.8.2","8.8.1","8.8.0","8.7.2","8.7.1","8.7.0","8.6.4","8.6.3","8.6.2","8.6.1","8.6.0","8.5.2","8.5.1","8.5.0","8.4.5","8.4.4","8.4.3","8.4.2","8.4.1","8.4.0","8.3.3","8.3.2","8.3.1","8.3.0","8.2.1","8.2.0","8.1.8","8.1.7","8.1.6","8.1.5","8.1.4","8.1.3","8.1.2","8.1.1","8.1.0","8.0.7","8.0.6","8.0.5","8.0.4","8.0.3","8.0.2","8.0.1","8.0.0","7.7.38","7.7.37","7.7.36","7.7.35","7.7.34","7.7.33","7.7.32","7.7.31","7.7.30","7.7.29","7.7.28","7.7.27","7.7.26","7.7.25","7.7.24","7.7.23","7.7.17","7.7.16","7.7.15","7.7.14","7.7.13","7.7.12","7.7.11","7.7.10","7.7.9","7.7.8","7.7.7","7.7.6","7.7.5","7.7.4","7.7.3","7.7.2","7.7.1","7.7.0","7.6.8","7.6.7","7.6.6","7.6.5","7.6.4","7.6.3","7.6.2","7.6.1","7.6.0","7.5.10","7.5.9","7.5.8","7.5.7","7.5.6","7.5.5","7.5.4","7.5.3","7.5.2","7.5.1","7.5.0","7.4.8","7.4.7","7.4.6","7.4.5","7.4.4","7.4.3","7.4.2","7.4.1","7.4.0","7.3.10","7.3.9","7.3.8","7.3.7","7.3.6","7.3.5","7.3.4","7.3.3","7.3.2","7.3.1","7.3.0","7.2.7","7.2.6","7.2.5","7.2.4","7.2.3","7.2.2","7.2.1","7.2.0","7.1.15","7.1.14","7.1.13","7.1.12","7.1.11","7.1.10","7.1.9","7.1.8","7.1.7","7.1.6","7.1.5","7.1.4","7.1.3","7.1.2","7.1.1","7.1.0","7.0.7","7.0.6","7.0.5","7.0.4","7.0.3","7.0.2","7.0.1","7.0.0","8.7.0.beta1","7.6.0.alpha2","7.6.0.alpha1","7.5.0.rc2","7.5.0.rc1","7.5.0.beta3","7.5.0.beta2","7.5.0.beta1","7.5.0.alpha1","7.4.0.rc1","7.4.0.beta3","7.4.0.beta2","7.4.0.beta1","7.4.0.alpha9","7.4.0.alpha8","7.4.0.alpha7","7.4.0.alpha6","7.4.0.alpha5","7.4.0.alpha4","7.4.0.alpha3","7.4.0.alpha2","7.4.0.alpha1","7.4.0.alpha14","7.4.0.alpha13","7.4.0.alpha12","7.4.0.alpha11","7.4.0.alpha10","7.3.0.rc1","7.3.0.beta1","7.3.0.alpha3","7.3.0.alpha2","7.3.0.alpha1","7.2.0.beta1","7.1.0.beta1","7.0.0.rc2","7.0.0.rc1","7.0.0.beta9","7.0.0.beta8","7.0.0.beta7","7.0.0.beta6","7.0.0.beta5","7.0.0.beta4","7.0.0.beta3","7.0.0.beta2","7.0.0.beta1","7.0.0.beta11","7.0.0.beta10"],"description":"Maven plugin for Vaadin."},{"artifactId":"gwt-pwa-archetype","groupId":"com.vaadin.polymer","versions":["1.0-alpha2","1.0-alpha1"],"description":"GWT-2.8.0 project with Polymer and PWA service worker"},{"artifactId":"wscdn-archetype","groupId":"com.vaadin.wscdn","versions":["0.0.2","0.0.1"],"description":"cdn.virit.in project archetype"},{"artifactId":"j8-minimal","groupId":"com.vasiliyspodin","versions":["1.6"],"description":"Minimal Java 8 Maven Archetype"},{"artifactId":"archetype-exec","groupId":"com.vaushell","versions":["1.0.1","1.0.0"],"description":"archetype for an executable (not a library)"},{"artifactId":"archetype-library","groupId":"com.vaushell","versions":["1.0.2","1.0.1","1.0.0"],"description":"archetype for a library (not an executable)"},{"artifactId":"demux-android-archetype","groupId":"com.vektorsoft.demux.tools","versions":["0.8.1","0.8.0","0.7.3","0.6.4","0.6.3","0.6.1","0.6.0","0.5.0","0.4.0"],"description":"Create Android application structure for DEMUX Framework applications"},{"artifactId":"demux-android-bundle-archetype","groupId":"com.vektorsoft.demux.tools","versions":["0.8.1","0.8.0"],"description":"Create OSGI bundle for DEMUX Android projects"},{"artifactId":"demux-bundle-archetype","groupId":"com.vektorsoft.demux.tools","versions":["0.8.2","0.8.0","0.7.3","0.6.4","0.6.3","0.6.1","0.6.0","0.5.0","0.4.0","0.3.1"],"description":"Create application bundles for DEMUX Framework applications"},{"artifactId":"demux-jfx-archetype","groupId":"com.vektorsoft.demux.tools","versions":["0.8.4","0.7.3","0.6.4","0.6.3","0.6.1","0.6.0","0.5.0","0.4.0","0.3.1"],"description":"Create JavaFX desktop application structure for DEMUX Framework applications"},{"artifactId":"j2cl-archetype-servlet","groupId":"com.vertispan.j2cl.archetypes","versions":["0.20","0.19"],"description":"Example reactor project with Java Servlets"},{"artifactId":"j2cl-archetype-simple","groupId":"com.vertispan.j2cl.archetypes","versions":["0.20","0.19"],"description":"A project that transforms Java to JS, and nothing else."},{"artifactId":"minium-script-cucumber-archetype","groupId":"com.vilt-group.minium","versions":["0.9.6","0.9.5","0.9.4"]},{"artifactId":"minium-script-jasmine-archetype","groupId":"com.vilt-group.minium","versions":["0.9.6","0.9.5","0.9.4"]},{"artifactId":"pallas-plugin-archetype","groupId":"com.vip.pallas","versions":["1.2.0","1.1.9","1.1.8","1.1.7"]},{"artifactId":"vanilla-jaxrs-service-api-archetype","groupId":"com.vlkan","versions":["0.1"],"description":"Archetype for creating a microservice API using vanilla JAX-RS."},{"artifactId":"vanilla-jaxrs-service-archetype","groupId":"com.vlkan","versions":["0.1"],"description":"Archetype for creating a microservice using vanilla JAX-RS."},{"artifactId":"vrealize-automation-content-generator-project","groupId":"com.vmware.devops","versions":["1.1","1.0"]},{"artifactId":"xenon-quickstart","groupId":"com.vmware.xenon","versions":["1.6.18","1.6.17","1.6.16","1.6.15","1.6.14","1.6.13","1.6.12","1.6.11","1.6.10","1.6.9","1.6.8","1.6.7","1.6.6","1.6.5","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.5.7","1.5.7-CR4","1.5.7-CR3","1.5.7-CR2","1.5.7-CR1","1.5.6","1.5.5","1.5.4","1.5.4-CR7","1.5.4-CR7_1","1.5.4-CR6","1.5.4-CR6_2","1.5.4-CR6_1","1.5.4-CR5","1.5.4-CR4","1.5.4-CR3","1.5.4-CR2","1.5.4-CR1","1.5.3","1.5.2","1.5.2-CR1","1.5.1","1.5.1-CR2","1.5.1-CR1","1.5.0","1.4.2","1.4.2-CR4","1.4.2-CR4_1","1.4.2-CR3","1.4.2-CR2","1.4.2-CR1","1.4.1","1.4.0","1.3.7","1.3.7-CR1","1.3.7-CR1_2","1.3.7-CR1_1","1.6.4.2","1.6.4.1","1.6.3.3","1.6.3.2","1.6.3.1","1.6.2.1","1.6.14.1","1.5.7_9","1.5.7_8","1.5.7_7","1.5.7_6","1.5.7_6_2","1.5.7_6_1","1.5.7_5","1.5.4_9","1.5.4_8","1.5.4_10"]},{"artifactId":"gaelic-archetype-starter","groupId":"com.wadpam.gaelic","versions":["1.0.8","1.0.7","1.0.6","1.0.5","1.0.4"]},{"artifactId":"library","groupId":"com.wandrell.archetype","versions":["0.2.1"],"description":"A Maven archetype to ease the creation of new libraries."},{"artifactId":"library","groupId":"com.wandrell.archetypes","versions":["0.3.0"],"description":"A Maven archetype to ease the creation of new libraries."},{"artifactId":"library","groupId":"com.wandrell.maven.archetypes","versions":["0.3.2","0.3.1"],"description":"A Maven archetype to ease the creation of new libraries."},{"artifactId":"library-archetype","groupId":"com.wandrell.maven.archetypes","versions":["1.0.3","1.0.2","1.0.1","1.0.0","0.7.2","0.7.0","0.6.2","0.6.0","0.5.1","0.5.0","0.4.3","0.4.2","0.4.0"],"description":"A Maven Archetype to ease the creation of new Java libraries."},{"artifactId":"spring-mvc-thymeleaf-archetype","groupId":"com.wandrell.maven.archetypes","versions":["1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"A Maven Archetype for Spring MVC, and Thymeleaf, projects."},{"artifactId":"enunciate-simple-archetype","groupId":"com.webcohesion.enunciate","versions":["2.12.1","2.12.0","2.11.1","2.11.0","2.10.1","2.10.0","2.9.1","2.9.0","2.8.1","2.8.0","2.7.0","2.6.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.1","2.1.0","2.0.0","2.0.0-RC.1","2.0.0-M.5"]},{"artifactId":"motan-core","groupId":"com.weibo","versions":["1.2.0","1.1.14","1.1.13","1.1.12","1.1.11","1.1.10","1.1.9","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.0","0.3.1","0.3.0","0.2.3","0.2.2","0.2.1","0.2.0","0.1.2","0.1.1","0.1.0","0.0.1"]},{"artifactId":"teasy-template-archetype","groupId":"com.wiley","versions":["1.0.5-beta","1.0.4-beta","1.0.3-beta","1.0.2-beta","1.0.1-beta","1.0.0-beta"],"description":"Maven archetype for Teasy framework template"},{"artifactId":"oak-archetype","groupId":"com.willowtreeapps","versions":["1.4.0","1.3.8","1.3.7","1.3.6","1.3.3","1.3.2","1.3.1","1.3.0","1.2.0","1.1.9","1.1.7","1.1.6","1.1.4","1.1.2","1.0.9"]},{"artifactId":"oak-dagger-api15-archetype","groupId":"com.willowtreeapps","versions":["1.4.0","1.3.8","1.3.7","1.3.6","1.3.3","1.3.2","1.3.1","1.3.0"]},{"artifactId":"oak-dagger-archetype","groupId":"com.willowtreeapps","versions":["1.4.0","1.3.8","1.3.7","1.3.6","1.3.3","1.3.2","1.3.1","1.3.0","1.2.0","1.1.9"]},{"artifactId":"oak-gradle-archetype","groupId":"com.willowtreeapps","versions":["1.4.0","1.3.8","1.3.7"]},{"artifactId":"javalin-java-archetype","groupId":"com.willwinder","versions":["1.0.2","1.0.1","1.0"],"description":"Simple archetype to setup a javalin project"},{"artifactId":"javalin-kotlin-archetype","groupId":"com.willwinder","versions":["1.0.1","1.0"],"description":"Simple archetype to setup a javalin project using Kotlin"},{"artifactId":"jfinal-spring-boot-quickstart","groupId":"com.wixct","versions":["2.1.4","2.1.3","2.1.2","2.1.0"],"description":"Archetype for creating Spring Boot Jfinal application"},{"artifactId":"flexicore-model-archetype","groupId":"com.wizzdi","versions":["1.0.1"],"description":"archetype for flexicore model plugins"},{"artifactId":"flexicore-service-archetype","groupId":"com.wizzdi","versions":["1.0.1","1.0.0"],"description":"archetype for flexicore service plugins"},{"artifactId":"MinimumHelloWorld-archetype","groupId":"com.wordpress.javaenterprise7","versions":["1.0"],"description":"Minimal archetype for a Java EE 7 application"},{"artifactId":"xsf_sample_app-archetype","groupId":"com.xtivia.tools","versions":["1.1.0","1.0.0"],"description":"XTIVIA Services Framework"},{"artifactId":"commandline","groupId":"com.yoctopuce.archetype","versions":["1.0"],"description":"Simple commandline example with Yoctoupce library"},{"artifactId":"spock-bootstrap","groupId":"com.zanclus","versions":["1.0"],"description":"Maven archetype for getting started using SpockFramework for testing"},{"artifactId":"deltaspike-restlet-archetype","groupId":"com.zanclus.codepalousa","versions":["2.3.1-1","2.3.1","2.3.0"],"description":"A Maven Archetype for generating a basic ReSTlet Application stub which can then be expanded"},{"artifactId":"restlet-deltaspike-raml-archetype","groupId":"com.zanclus.codepalousa","versions":["2.3.1","2.3.1.5","2.3.1.2","2.3.1.1"],"description":"A Maven Archetype for generating a simple Restlet application which can produce it's own RAML documentation \n based on the content of the code contained therein. It also sets up and uses Apache DeltaSpike for dependency\n injection. The version tracks the version of the Restlet Framework being used."},{"artifactId":"vertx-java-archetype","groupId":"com.zanclus.codepalousa","versions":["3.3.3","3.0.0","3.0.0-milestone5","3.0.0-milestone4"],"description":"A Maven Archetype for generating a basic Vert.x 3.0.0 Java project"},{"artifactId":"vertx-js-archetype","groupId":"com.zanclus.codepalousa","versions":["3.3.3","3.0.0-milestone4","3.0.0-M4","3.0.0.8","3.0.0.7","3.0.0.4","3.0.0.3","3.0.0.2","3.0.0.1"],"description":"A Maven Archetype for generating a basic Vert.x 3.0.0 JavaScript project"},{"artifactId":"vertx-groovy-archetype","groupId":"com.zanclus.vertx","versions":["3.3.3"],"description":"A Maven Archetype for generating a basic Vert.x ${project.version}Java project"},{"artifactId":"javafx-basic-archetype","groupId":"com.zenjava","versions":["8.1.5","2.0.1","1.3","1.2","1.1","1.0"],"description":"The JavaFX Basic Archetype provides core functionality for assembling JavaFX applications."},{"artifactId":"javafx-rest-archetype","groupId":"com.zenjava","versions":["8.1.5","2.0.1","1.2","1.1","1.0"],"description":"The JavaFX Basic Archetype provides a Maven archetype for generating a basic JavaFX REST client-server starter\n project."},{"artifactId":"catalyst-archetype-advancedio","groupId":"com.zoho.catalyst","versions":["0.0.4","0.0.3","0.0.2","0.0.1"]},{"artifactId":"catalyst-archetype-advancedio-basic","groupId":"com.zoho.catalyst","versions":["0.0.4","0.0.3","0.0.2","0.0.1"]},{"artifactId":"jurest-archetype","groupId":"com.zxytech.jurest","versions":["1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.0","1.0-RC1"]},{"artifactId":"jurest-modules-archetype","groupId":"com.zxytech.jurest","versions":["1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.0","1.0-RC1"]},{"artifactId":"ngast-archetype","groupId":"com.zxytech.ngast","versions":["0.1.0"],"description":"Ngast脚手架"},{"artifactId":"ngast-modules-archetype","groupId":"com.zxytech.ngast","versions":["0.1.0"],"description":"Ngast 多模块脚手架"},{"artifactId":"maven-adapter-archetype","groupId":"de.adorsys.xs2a.adapter","versions":["0.1.1","0.1.0","0.0.11","0.0.10","0.0.9","0.0.8","0.0.7","0.0.6","0.0.5","0.0.4","0.0.3","0.0.2"]},{"artifactId":"android-gcm-quickstart","groupId":"de.akquinet.android.archetypes","versions":["1.1.0","1.0.11","1.0.10"],"description":"Creates a skeleton for a GCM Android application"},{"artifactId":"android-library-quickstart","groupId":"de.akquinet.android.archetypes","versions":["1.1.0","1.0.11","1.0.10","1.0.9"],"description":"Creates a skeleton for an Android library"},{"artifactId":"android-quickstart","groupId":"de.akquinet.android.archetypes","versions":["1.1.0","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a skeleton for an Android application"},{"artifactId":"android-release","groupId":"de.akquinet.android.archetypes","versions":["1.1.0","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4"],"description":"Creates a skeleton for an Android application,\n instrumentation tests and ready-to-publish application on releases."},{"artifactId":"android-with-test","groupId":"de.akquinet.android.archetypes","versions":["1.1.0","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Creates a skeleton for an Android application and instrumentation tests"},{"artifactId":"stand-archetype","groupId":"de.akquinet.android.archetypes","versions":["0.0.1"],"description":"Creates a skeleton for an Android application using the Stand framework stack"},{"artifactId":"chameria-quickstart-archetype","groupId":"de.akquinet.chameria","versions":["1.5.0"]},{"artifactId":"javascript-jqueryplugin","groupId":"de.akquinet.javascript.archetypes","versions":["1.0.0"],"description":"Creates a skeleton for an Javascript jquery plugin"},{"artifactId":"javascript-quickstart","groupId":"de.akquinet.javascript.archetypes","versions":["1.0.0"],"description":"Creates a skeleton for an Javascript application"},{"artifactId":"jbosscc-javaee6-modular-ear-archetype","groupId":"de.akquinet.jbosscc","versions":["1.0"],"description":"Maven Archetype to generate a modular Java EE 6 based project skeleton."},{"artifactId":"jbosscc-seam-archetype","groupId":"de.akquinet.jbosscc","versions":["1.5","1.4.1","1.4","1.3","1.2","1.1","1.0"],"description":"Maven Archetype to generate a Seam Application - running on JBoss AS7"},{"artifactId":"pear-archetype","groupId":"de.averbis.textanalysis","versions":["2.0.2","2.0.1","2.0.0","1.1.1","1.1.0","1.0.0"],"description":"Template to create PEAR packaged UIMA annotators in Java"},{"artifactId":"ruta-pear-archetype","groupId":"de.averbis.textanalysis","versions":["2.0.0","1.4.0","1.3.0","1.2.0","1.1.0","1.0.0"],"description":"Template to create PEAR packaged UIMA Ruta annotators"},{"artifactId":"spring-boot-service","groupId":"de.bitgrip.archetypes","versions":["0.1.0"],"description":"An archetype which generates a complete spring-boot-service with an RESTFUL api with dummy implementation.\n Each application layer is\n Additionally creates an FeignClient coupled to the API of the service, which clients could use.\n Check https://github.com/bitgrip/spring-boot-archetype"},{"artifactId":"tapir-bootstrap-archetype","groupId":"de.bmiag.tapir","versions":["4.0.0","3.6.2","3.5.0","3.4.2","3.3.1","3.3.0","3.2.1","3.2.0","3.1.1","3.1.0","3.0.0"],"description":"tapir Bootstrap Archetype"},{"artifactId":"tapir-module-archetype","groupId":"de.bmiag.tapir","versions":["4.0.0","3.6.2","3.5.0","3.4.2","3.3.1","3.3.0","3.2.1","3.2.0","3.1.1","3.1.0","3.0.0"],"description":"tapir Module Archetype"},{"artifactId":"java-quickstart","groupId":"de.bripkens","versions":["0.2.0","0.1.0"],"description":"Java quickstart archetype with some common libs"},{"artifactId":"archetype-fitgoodies-quickstart","groupId":"de.cologneintelligence","versions":["1.4.0","1.3.0","1.2.4","1.2.3","1.2.2","1.2.1"],"description":"Archetype which generates an FitGoodies-enabled example project"},{"artifactId":"kissmda-maven-app-archetype","groupId":"de.crowdcode.kissmda.maven","versions":["2.1.1","2.1.0","2.0.0","1.4.0","1.3.0","1.2.0","1.1.0","1.0.0"]},{"artifactId":"kissmda-maven-cartridge-archetype","groupId":"de.crowdcode.kissmda.maven","versions":["2.1.1","2.1.0","2.0.0","1.4.0","1.3.0","1.2.0","1.1.0","1.0.0"]},{"artifactId":"archetype-cubeengine-module","groupId":"de.cubeisland.maven.archetypes","versions":["1.0.4","1.0.3","1.0.2"],"description":"This archetype generates a new module for the Cube Engine."},{"artifactId":"webapp-quickstart-archetype","groupId":"de.cwkr","versions":["0.1"],"description":"Simple Webapp using scriptless JSP and Servlet API"},{"artifactId":"jiac-agent-config-temp","groupId":"de.dailab","versions":["5.1.5","5.1.5.1"]},{"artifactId":"jiac-config-temp","groupId":"de.dailab","versions":["5.1.5.2"],"description":"Creates a jiac agent project, with spring-config templates for an agent and an agent bean"},{"artifactId":"jiac-empty","groupId":"de.dailab","versions":["5.1.5","5.1.5.2","5.1.5.1"],"description":"Creates a empty jiac project. POM only"},{"artifactId":"jiac-jsw","groupId":"de.dailab","versions":["5.1.5","5.1.5.2","5.1.5.1"],"description":"Creates a runnable agent, which can used as system service/daemon"},{"artifactId":"jiac-multi-module","groupId":"de.dailab","versions":["5.1.5","5.1.5.2","5.1.5.1"],"description":"Creates jiac multi module project with api and domain module"},{"artifactId":"poc-archetype","groupId":"de.dbck.poc","versions":["0.0.2","0.0.1"],"description":"POC Archetype"},{"artifactId":"jee-maven-archetype","groupId":"de.dplatz","versions":["7.02"],"description":"Quickstart Java EE development"},{"artifactId":"jakartaee8-mvc-archetype","groupId":"de.erdlet.archetypes","versions":["1.0.1-Beta1","1.0.0","1.0.0-RC1","1.0.0-Beta1"],"description":"Archetype for basic Jakarta EE 8 App with MVC API and Eclipse Krazo"},{"artifactId":"vaadin-jee7-webapp-archetype","groupId":"de.hansche","versions":["8.3","8.1","1.0"],"description":"Maven archetype for Java EE-based Vaadin projects"},{"artifactId":"java-library","groupId":"de.holisticon.archetypes","versions":["0.3","0.1"],"description":"Please refer to https://github.com/holisticon/java-library-archetype."},{"artifactId":"crawler4j-archetype","groupId":"de.hs-heilbronn.mi","versions":["5.0.1"]},{"artifactId":"sip-archetype","groupId":"de.ikor.sip.foundation","versions":["2.4.0","2.3.0","2.2.0","2.1.0","2.0.2","2.0.0","1.0.0"],"description":"An archetype for creating an opinionated maven project for a sip adapter"},{"artifactId":"jcore-ae-archetype","groupId":"de.julielab","versions":["2.6.0","2.5.1","2.5.0","2.3.2"],"description":"An archetype to quickly create new JCoRe UIMA analysis engines."},{"artifactId":"jcore-cc-archetype","groupId":"de.julielab","versions":["2.6.0","2.5.1","2.3.2"],"description":"An archetype to quickly create new JCoRe UIMA CAS consumers."},{"artifactId":"jcore-cr-archetype","groupId":"de.julielab","versions":["2.6.0","2.5.1","2.3.2"],"description":"An archetype to quickly create new JCoRe UIMA collection reader."},{"artifactId":"styles-factory-archetype","groupId":"de.katerkamp.szoo","versions":["0.5.1"],"description":"Archetype to create a custom Style Factory Maven Project.\n\t\tThe factory collects and assembles styles from Google fonts,\n\t\tZurb Foundation etc."},{"artifactId":"ets-archetypes-application","groupId":"de.kaufhof.ets","versions":["0.1.0"],"description":"Archetype for new ETS standard application"},{"artifactId":"ets-archetypes-library","groupId":"de.kaufhof.ets","versions":["0.1.0"],"description":"Archetype for new ETS library"},{"artifactId":"javaee8-war-jsf-archetype","groupId":"de.kriegergilde","versions":["1.0"],"description":"Java EE 8 WAR + JSF"},{"artifactId":"parent-archetype","groupId":"de.lars-sh","versions":["0.9.14","0.9.13","0.9.12","0.9.11","0.9.10","0.9.9","0.9.8","0.9.7","0.9.6","0.9.5","0.9.4","0.9.3","0.9.2"],"description":"This archetype package creates a new Maven project consisting of nothing more than a pom.xml file referencing the parent POM project"},{"artifactId":"basic","groupId":"de.learnlib.archetypes","versions":["0.16.0","0.15.0","0.14.0","0.13.1","0.13.0"],"description":"Archetype for a basic LearnLib setup, including the most commonly used dependencies"},{"artifactId":"complete","groupId":"de.learnlib.archetypes","versions":["0.16.0","0.15.0","0.14.0","0.13.1","0.13.0","0.12.0","0.11.2","0.11.1","0.10.1","0.10.0","0.9.1","0.9.1-ase2013-tutorial","0.9.1-ase2013-tutorial-r1","0.9.0"],"description":"Archetype which includes all LearnLib dependencies"},{"artifactId":"core","groupId":"de.learnlib.archetypes","versions":["0.12.0","0.11.2","0.11.1","0.10.1","0.10.0","0.9.1","0.9.1-ase2013-tutorial","0.9.1-ase2013-tutorial-r1","0.9.0"],"description":"Archetype providing dependencies for core functionalities of LearnLib"},{"artifactId":"typical","groupId":"de.learnlib.archetypes","versions":["0.12.0","0.11.2","0.11.1","0.10.1","0.10.0","0.9.1","0.9.1-ase2013-tutorial","0.9.1-ase2013-tutorial-r1","0.9.0"],"description":"Archetype for a typical LearnLib setup, including the most commonly used dependencies"},{"artifactId":"process-app-archetype","groupId":"de.lebeig.dev","versions":["0.9.0","0.8.0","0.7.0","0.6.1","0.6.0","0.5.1","0.5.0","0.0.4","0.0.3","0.0.2"],"description":"Maven archetype for creating process applications based on a base skeleton."},{"artifactId":"basic-archetype","groupId":"de.quantummaid.tutorials.archetypes","versions":["1.0.44","1.0.43","1.0.42","1.0.41","1.0.38","1.0.37","1.0.34","1.0.32","1.0.31","1.0.30","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"]},{"artifactId":"recheck-web-archetype","groupId":"de.retest","versions":["1.13.0","1.12.0","1.11.0","1.11.0-beta.1"],"description":"Archetype to quick start a recheck-web project."},{"artifactId":"jakartaee8","groupId":"de.rieckpil.archetypes","versions":["1.1.2","1.1.1","1.1.0","1.0.0","0.9.1","0.9.0"],"description":"Maven Archetype for bootstrapping Jakarta EE 8 applications"},{"artifactId":"javaee8","groupId":"de.rieckpil.archetypes","versions":["2.1.2","2.1.1","2.1.0","2.0.0","1.0.2","1.0.1","1.0.0"],"description":"Maven Archetype for bootstrapping Java EE 8 applications"},{"artifactId":"javaee8-jsf","groupId":"de.rieckpil.archetypes","versions":["2.1.2","2.1.1","2.1.0","2.0.0","1.0.1","1.0.0"],"description":"Maven Archetype for bootstrapping Java EE 8 JSF applications"},{"artifactId":"testing-toolkit","groupId":"de.rieckpil.archetypes","versions":["1.0.2","1.0.1","1.0.0","0.9.1"],"description":"Maven Archetype for bootstrapping a Java project with basic testing capabilities"},{"artifactId":"rails-maven-archetype","groupId":"de.saumya.mojo","versions":["0.27.0","0.26.0","0.25.1","0.25.0","0.24.0","0.23.0","0.22.0","0.21.2","0.21.1","0.21.0","0.20.0","0.12.0","0.11.0"],"description":"archetype to mavenize an existing rails 2.3.x or rails3 application"},{"artifactId":"mvvmFX-archetype","groupId":"de.saxsys","versions":["0.4.0"],"description":"An maven archetype to create an example application with mvvmFX"},{"artifactId":"mvvmfx-archetype","groupId":"de.saxsys","versions":["1.8.0","1.7.0","1.6.0","1.5.2","1.5.1","1.5.0","1.4.1","1.4.0","1.3.1","1.3.0","1.2.1","1.2.0","1.1.0","1.0.0","0.4.1"],"description":"An maven archetype to create an example application with mvvmFX"},{"artifactId":"console","groupId":"de.schipplock.archetypes","versions":["1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Maven archetype for bootstrapping a console application using picocli, junit5 and log4j2"},{"artifactId":"javafx-scala-demo","groupId":"de.schlichtherle","versions":["0.4","0.3","0.2","0.1"],"description":"An archetype for a standalone JavaFX 2.0 application written in Scala.\nThe generated application is translated from the Colorful Circles demo from the\nJavaFX 2.0 SDK."},{"artifactId":"truezip-archetype-file","groupId":"de.schlichtherle.truezip","versions":["7.7.10","7.7.9","7.7.8","7.7.7","7.7.6","7.7.5","7.7.4","7.7.3","7.7.2","7.7.1","7.7","7.6.6","7.6.5","7.6.4","7.6.3","7.6.1","7.6","7.5.5","7.5.4","7.5.3","7.5.2","7.5.1","7.5","7.4.3","7.4.2","7.4.1","7.4","7.3.4","7.3.3","7.3.2","7.3.1","7.3","7.3-rc-1","7.2.1","7.2","7.2-rc-2","7.2-rc-1","7.2-beta-3","7.2-beta-1","7.1.4","7.1.3","7.1.2","7.1.1","7.1","7.0"],"description":"TrueZIP File* module application - requires JSE 6."},{"artifactId":"truezip-archetype-path","groupId":"de.schlichtherle.truezip","versions":["7.7.10","7.7.9","7.7.8","7.7.7","7.7.6","7.7.5","7.7.4","7.7.3","7.7.2","7.7.1","7.7","7.6.6","7.6.5","7.6.4","7.6.3","7.6.1","7.6","7.5.5","7.5.4","7.5.3","7.5.2","7.5.1","7.5","7.4.3","7.4.2","7.4.1","7.4","7.3.4","7.3.3","7.3.2","7.3.1","7.3","7.3-rc-1","7.2.1","7.2","7.2-rc-2","7.2-rc-1","7.2-beta-3","7.2-beta-1"],"description":"TrueZIP Path module application - requires JSE 7."},{"artifactId":"mapbased-archetype","groupId":"de.slothsoft.challenger","versions":["1.0.0"]},{"artifactId":"mangooio-maven-archetype","groupId":"de.svenkubiak","versions":["1.0.0-RC3","1.0.0-RC2","1.0.0-RC1","1.0.0-Beta5","1.0.0-Beta4","1.0.0-Beta3","1.0.0-Beta2","1.0.0-Beta1","1.0.0-Alpha3","1.0.0-Alpha2","1.0.0-Alpha1"]},{"artifactId":"ninja-simple-archetype","groupId":"de.svenkubiak","versions":["1.0.0"],"description":"This is a archetype for a simple Ninja Web Framework project. It is based on the servlet archetype, but with some minor modifications"},{"artifactId":"archetype-lambda","groupId":"de.taimos","versions":["1.0"],"description":"Maven archetype for an AWS lambda function written in Java"},{"artifactId":"dvalin-archetype-basic","groupId":"de.taimos","versions":["1.33","1.32","1.31","1.30","1.29","1.28","1.27","1.26","1.25","1.24","1.23","1.22","1.21","1.20","1.19","1.18","1.17","1.16","1.15","1.14","1.13","1.12","1.11","1.10","1.9","1.8","1.7","1.6"],"description":"Maven archetype for a basic dvalin project"},{"artifactId":"dvalin-archetype-docker","groupId":"de.taimos","versions":["1.33","1.32","1.31","1.30","1.29","1.28","1.27","1.26","1.25","1.24","1.23","1.22","1.21","1.20","1.19","1.18","1.17","1.16","1.15","1.14","1.13","1.12","1.11","1.10","1.9","1.8","1.7","1.6"],"description":"Maven archetype for a docker based dvalin project"},{"artifactId":"simple-maven-archetype","groupId":"de.tebros","versions":["0.1.4","0.1.3","0.1.2"],"description":"This is a archetype for a simple maven project with JUnit 5 and Log4j 2"},{"artifactId":"spring-boot-jboss-archetype","groupId":"de.tebros","versions":["1.0.1","1.0.0"],"description":"This is a archetype for a blank spring boot project with JUnit 5, Log4j and Lombok 2 for an external JBoss server"},{"artifactId":"shogun-core-webapp-archetype","groupId":"de.terrestris","versions":["5.3.12","5.3.11","5.3.10","5.3.9","5.3.8","5.3.7","5.3.6","5.3.5","5.3.4","5.3.3","5.3.2","5.3.1","5.3.0","5.2.3","5.2.2","5.2.1","5.2.0","5.1.0","5.0.1","5.0.0","4.0.0","3.3.1","3.3.0","3.2.0","3.1.1","3.1.0","3.0.0"]},{"artifactId":"shogun2-webapp-archetype","groupId":"de.terrestris","versions":["2.1.0","2.0.0","1.1.0","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0","0.1.7","0.1.6","0.1.5","0.1.4","0.1.3","0.1.2","0.1.1","0.1.0","0.0.6","0.0.5","0.0.4","0.0.3","0.0.2","0.0.1"]},{"artifactId":"iiq-webapp-archetype","groupId":"de.whisperedshouts","versions":["1.0.3","1.0.2","1.0.1"],"description":"This archetype may be used to create a webapp based on SailPoint IdentityIQ."},{"artifactId":"aemdesign-archetype","groupId":"design.aem","versions":["1.0.93","1.0.91","1.0.90","1.0.89","1.0.87","1.0.83","1.0.82","1.0.81","1.0.80","1.0.79","1.0.77","1.0.71","1.0.67","1.0.65","1.0.62","1.0.59","1.0.58","1.0.56","1.0.55","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48"],"description":"AEM.Design project archetype."},{"artifactId":"qa-testing-archetype","groupId":"dev.aherscu.qa","versions":["0.0.24","0.0.23","0.0.22","0.0.21","0.0.20","0.0.19","0.0.18","0.0.17","0.0.16","0.0.15","0.0.14","0.0.13","0.0.12","0.0.11","0.0.10","0.0.8","0.0.7","0.0.6","0.0.5","0.0.4","0.0.3","0.0.2","0.0.1"],"description":"Generates a template Maven project with the QA Automation built-in."},{"artifactId":"fastball-ui-archetype","groupId":"dev.fastball","versions":["0.2.0"]},{"artifactId":"galasa-demo-archetype","groupId":"dev.galasa","versions":["0.14.0","0.13.0","0.12.0","0.11.0","0.10.0","0.9.0","0.8.0","0.7.0","0.6.0","0.5.0","0.4.0","0.3.0"]},{"artifactId":"archetype","groupId":"dev.hcf.ball","versions":["2023.0.1","2023.0.0","2022.2.1","2022.2.0","2022.1.2"]},{"artifactId":"m1-starter-web","groupId":"dev.j3ee","versions":["0.2","0.1"],"description":"M1 Starter is a J2ee starter web application using M1/ioc."},{"artifactId":"jakarta-lemon-archetype","groupId":"dev.jakartalemon","versions":["1.2","1.1-Beta","1.0-Beta","0.2"],"description":"This archetype is the basis for creating projects based on Jakarta EE using the Jakarta Lemon plugin."},{"artifactId":"quickstart-archetype","groupId":"dev.landin.archetypes","versions":["1.0"],"description":"My custom maven quickstart archetype"},{"artifactId":"java-module-project-archetype","groupId":"dev.orne","versions":["0.5.1","0.5.0","0.4.0"],"description":"Maven Archetype por Java 9+ module projects of Orne.dev"},{"artifactId":"java-project-archetype","groupId":"dev.orne","versions":["0.5.1","0.5.0","0.4.0","0.3.0"],"description":"Maven Archetype por Java based projects of Orne.dev"},{"artifactId":"pom-project-archetype","groupId":"dev.orne","versions":["0.5.1","0.5.0","0.4.0","0.3.0"],"description":"Maven Archetype por POM based projects of Orne.dev."},{"artifactId":"scala-archetype","groupId":"dev.qinx","versions":["1.0.2","1.0.1","1.0.0","0.0.1"],"description":"An up-to-date Maven Archetype for Scala"},{"artifactId":"quickstart","groupId":"dev.xethh.archetype","versions":["1.0.4","1.0.3","1.0.2","1.0.1"],"description":"Maven archetype for generating java project with basic libraries included in bom-common, the output is generally an executable jar."},{"artifactId":"quickstart-kotlin","groupId":"dev.xethh.archetype","versions":["1.0.4","1.0.3","1.0.2","1.0.1"],"description":"Maven archetype for generating kotlin and java mixed application project with basic libraries included in bom-common-spring-kotlin, the output is generally an executable jar."},{"artifactId":"quickstart-kotlin-lib","groupId":"dev.xethh.archetype","versions":["1.0.4","1.0.3","1.0.2","1.0.1"],"description":"Maven archetype for generating kotlin and java mixed library project with basic libraries included in bom-common-spring-kotlin, the output is generally a non executable jar."},{"artifactId":"quickstart-lib","groupId":"dev.xethh.archetype","versions":["1.0.4","1.0.3","1.0.2","1.0.1"],"description":"Maven archetype for generating java library project with basic libraries included in bom-common, the output is generally a non executable jar."},{"artifactId":"quickstart-scala","groupId":"dev.xethh.archetype","versions":["1.0.4","1.0.3","1.0.2","1.0.1"],"description":"Maven archetype for generating scala and java mixed application project with basic libraries included in bom-common-spring-scala, the output is generally an executable jar."},{"artifactId":"quickstart-scala-lib","groupId":"dev.xethh.archetype","versions":["1.0.4","1.0.3","1.0.2","1.0.1"],"description":"Maven archetype for generating scala and java mixed library project with basic libraries included in bom-common-spring-scala, the output is generally a non executable jar."},{"artifactId":"maven-archetype-flex","groupId":"dk.jacobve.maven.archetypes","versions":["1.0"],"description":"An archetype which contains a sample Maven Flex project using the israfil maven plugin"},{"artifactId":"valkyrie-rcp-archetype","groupId":"dk.navicon","versions":["1.3","1.2","1.1"],"description":"Archetype for creating new Valkyrie projects."},{"artifactId":"docker-integration-archetype","groupId":"dk.sublife.docker-integration","versions":["1.1.4","1.1.3","1.1.2","1.1.1","1.0.3"]},{"artifactId":"guava-lombok-mockito-archetype","groupId":"dk.swissarmyronin","versions":["1.3","1.2"],"description":"A quick start template that provides Guava, Lombok, JUnit, Mockito, and SLF4J."},{"artifactId":"java-app-project","groupId":"edu.byu.hbll","versions":["1.5.3","1.5.2","1.5.1","1.5.0"],"description":"Maven archetype for standalone applications"},{"artifactId":"java-ee-project","groupId":"edu.byu.hbll","versions":["1.5.3","1.5.2","1.5.1","1.5.0","1.4.1","1.4.0","1.3.1"],"description":"Maven archetype for Java EE applications"},{"artifactId":"java-project","groupId":"edu.byu.hbll","versions":["1.5.3","1.5.2","1.5.1","1.5.0","1.4.1","1.4.0","1.3.1","1.3.0"],"description":"Maven archetype for libraries"},{"artifactId":"java-web-project","groupId":"edu.byu.hbll","versions":["1.5.3","1.5.2","1.5.1"],"description":"Maven archetype for Java EE applications"},{"artifactId":"angular-archetype","groupId":"edu.byu.hbll.maven","versions":["2.0.0"],"description":"Maven archetype for Angular applications with a Java backend"},{"artifactId":"application-archetype","groupId":"edu.byu.hbll.maven","versions":["4.0.1","4.0.0","3.7.1","3.7.0","3.6.0","3.5.0","3.4.1","3.4.0","3.3.3","3.3.2","3.3.1","3.3.0","3.2.0","3.1.1","3.1.0","3.0.0"],"description":"Maven archetype for web applications."},{"artifactId":"ee-archetype","groupId":"edu.byu.hbll.maven","versions":["2.0.0"],"description":"Maven archetype for Java EE applications"},{"artifactId":"executable-archetype","groupId":"edu.byu.hbll.maven","versions":["4.0.1","4.0.0","3.7.1","3.7.0","3.6.0","3.5.0","3.4.1","3.4.0","3.3.3","3.3.2","3.3.1","3.3.0","3.2.0","3.1.1","3.1.0","3.0.0","2.0.0"],"description":"Maven archetype for CLI, cron, and daemon applications."},{"artifactId":"library-archetype","groupId":"edu.byu.hbll.maven","versions":["4.0.1","4.0.0","3.7.1","3.7.0","3.6.0","3.5.0","3.4.1","3.4.0","3.3.3","3.3.2","3.3.1","3.3.0","3.2.0","3.1.1","3.1.0","3.0.0","2.0.0"],"description":"Maven archetype for libraries"},{"artifactId":"microprofile-archetype","groupId":"edu.byu.hbll.maven","versions":["2.0.0"],"description":"Maven archetype for Java EE applications"},{"artifactId":"concrete-new-project","groupId":"edu.jhu.hlt","versions":["4.5"],"description":"Archetype for creating new Concrete projects."},{"artifactId":"WeatherTopology-archetype","groupId":"edu.uchicago.mpcs53013","versions":["2.0.3","2.0.2","2.0.1","2.0.0","1.2.0","1.1.0","1.0.0"],"description":"Reads weather from kafka topic and stores latest\nweather for American airports in HBase"},{"artifactId":"flight-topology-archetype","groupId":"edu.uchicago.mpcs53013","versions":["2.0.2","2.0.1","1.0.0"],"description":"Reads flights from kafka topic and updates HBase\nwith flight information"},{"artifactId":"hadoop-archetype","groupId":"edu.uchicago.mpcs53013","versions":["5.0.0","4.0.0","1.0.0"],"description":"Create a Hadoop client application including an UberJar"},{"artifactId":"hadoop-thrift-archetype","groupId":"edu.uchicago.mpcs53013","versions":["5.0.0","4.0.0","2.0.0"],"description":"Creates program that serializes thrift students to HDFS sequence files. For an example, see hadoo-thrift-example-archetype"},{"artifactId":"hadoop-thrift-example-archetype","groupId":"edu.uchicago.mpcs53013","versions":["6.0.0","5.0.1","5.0.0","4.0.0","2.1.0","2.0.0","1.0.0"],"description":"Creates an example program that serializes thrift students to HDFS sequence files"},{"artifactId":"hdfs-ingest-weather-archetype","groupId":"edu.uchicago.mpcs53013","versions":["8.0.0","7.0.0","6.0.1","6.0.0","5.0.1","5.0.0","4.0.0","2.1.0","2.0.2","2.0.1","2.0.0","1.0.1","1.0.0"],"description":"Creates an example program that reads NOAA weather and serializes\n to HDFS Thrift sequence files"},{"artifactId":"kafka-flight-archetype","groupId":"edu.uchicago.mpcs53013","versions":["5.0.0","4.0.0","3.1.0","3.0.0","2.0.1","2.0","1.0.0"],"description":"Ingest real-time flight data from FlightAware into a Kafka topic"},{"artifactId":"kafka-weather-archetype","groupId":"edu.uchicago.mpcs53013","versions":["1.0.1"],"description":"Ingest real-time weather data into a Kafka topic"},{"artifactId":"spark-batch-layer-archetype","groupId":"edu.uchicago.mpcs53013","versions":["5.0.0"],"description":"Create a Spark Scala implementation of our flight-and-weather application"},{"artifactId":"spark-scala-archetype","groupId":"edu.uchicago.mpcs53013","versions":["4.0.2","4.0.1","4.0.0","1.0.4","1.0.3","1.0.1","1.0.0"],"description":"Create a Spark Scala program. Provides dependencies on Spark, Spark Streaming, Kafka, and Hive"},{"artifactId":"spark-scala-kafka-word-count-archetype","groupId":"edu.uchicago.mpcs53013","versions":["8.0.0","7.0.1","7.0.0","6.0.0","4.0.2","4.0.1","4.0.0","1.1.0","1.0.0"],"description":"Create a Spark Scala streaming WordCount program that reads from Kafka"},{"artifactId":"spark-scala-network-word-count-archetype","groupId":"edu.uchicago.mpcs53013","versions":["5.0.0","1.0.0"],"description":"Create a Spark Scala Network WordCount program similar to that included in the Spark examples"},{"artifactId":"spark-scala-word-count-archetype","groupId":"edu.uchicago.mpcs53013","versions":["5.0.0","4.0.0","1.0.0"],"description":"Create a Spark Scala WordCount program similar to that in O'Reilly Learning Spark book"},{"artifactId":"spark-streaming-flights-archetype","groupId":"edu.uchicago.mpcs53013","versions":["4.0.0","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Create a Spark Scala streaming program that reads flights from Kafka and looks them up in HBase"},{"artifactId":"speed-layer-flights-archetype","groupId":"edu.uchicago.mpcs53013","versions":["8.0.1","8.0.0","7.0.0","6.0.2","6.0.1","6.0.0","4.0.3","4.0.2","4.0.1","4.0.0","1.0.0"],"description":"Create a Spark Scala streaming program that reads flights from Kafka, looks up corresponding weather information and updates speed layer tables in HBase"},{"artifactId":"speed-layer-weather-archetype","groupId":"edu.uchicago.mpcs53013","versions":["8.0.0","7.0.0","6.0.0","4.0.3","4.0.2","4.0.1","4.0.0","1.0.1","1.0.0"],"description":"Create a Spark Scala streaming program that reads simulated weather reports from Kafka and stores them in the latest_weather table in HBase"},{"artifactId":"storm-word-count-archetype","groupId":"edu.uchicago.mpcs53013","versions":["2.0.0","1.0.0"],"description":"Modified version of the Word Count program at https://github.com/nathanmarz/storm-starter"},{"artifactId":"thrift-archetype","groupId":"edu.uchicago.mpcs53013","versions":["4.0.0","1.4.0","1.3.0","1.2.0","1.1.0"],"description":"Example program to write thrift from local file system"},{"artifactId":"thrift-example-archetype","groupId":"edu.uchicago.mpcs53013","versions":["4.0.0","3.0.1","3.0.0","2.0.1","2.0.0","1.0.0"],"description":"Creates an example program that serializes thrift logins"},{"artifactId":"word-count-archetype","groupId":"edu.uchicago.mpcs53013","versions":["5.0.0","4.0.0","2.1.0","2.0.0","1.0.2","1.0.1","1.0.0"],"description":"Create the WordCount example from the Hadoop docs"},{"artifactId":"beast-spark","groupId":"edu.ucr.cs.bdlab","versions":["0.10.0-RC1","0.9.5","0.9.5-RC2","0.9.5-RC1","0.9.4","0.9.4-RC2","0.9.4-RC1","0.9.3-RC1","0.9.2","0.9.2-RC1","0.9.1","0.9.1-RC1","0.9.0","0.9.0-RC2","0.9.0-RC1","0.8.3"]},{"artifactId":"servicemix-archetype","groupId":"es.apba.infra.esb","versions":["1.0.1","1.0.0"],"description":"Archetype for APBA integration bundles"},{"artifactId":"basic","groupId":"es.ucm.fdi.grasia.faerie.archetypes","versions":["1.2.9","1.2.7"],"description":"Project for definition and implementation of an architecture/framework for Ambient-Assited Living systems"},{"artifactId":"aibench-archetype","groupId":"es.uvigo.ei.sing","versions":["2.10.2","2.10.1"]},{"artifactId":"weblicht-nentities-ws-dw-archetype","groupId":"eu.clarin.weblicht","versions":["1.4","1.3.12","1.3.11","1.3.8","1.3.2","1.3.1","1.2","1.1"],"description":"An archetype for creating weblicht web services with dropwizard. This archetype provides debian and redhat packaging."},{"artifactId":"opennlp-resource-archetype","groupId":"eu.crydee.uima.opennlp","versions":["2.0.1","2.0.0","1.0.1","1.0.0"],"description":"Archetype to ease the Mavenization of OpenNLP resources"},{"artifactId":"template-messaging-service","groupId":"eu.europa.ec.itb","versions":["1.18.1","1.18.0","1.17.0","1.16.1","1.16.0","1.15.1","1.15.0","1.14.1","1.14.0","1.13.0","1.12.0","1.11.1","1.11.0","1.10.2","1.10.1","1.10.0","1.9.1","1.9.0","1.8.0","1.7.2","1.7.1","1.7.0","1.6.1","1.6.0","1.5.0","1.4.1","1.4.0","1.4.0.1"],"description":"Maven archetype for the generation of a GITB-compliant messaging service."},{"artifactId":"template-processing-service","groupId":"eu.europa.ec.itb","versions":["1.18.1","1.18.0","1.17.0","1.16.1","1.16.0","1.15.1","1.15.0","1.14.1","1.14.0","1.13.0","1.12.0","1.11.1","1.11.0","1.10.2","1.10.1","1.10.0","1.9.1","1.9.0","1.8.0","1.7.2","1.7.1","1.7.0","1.6.1","1.6.0","1.5.0","1.4.1","1.4.0","1.4.0.1"],"description":"Maven archetype for the generation of a GITB-compliant processing service."},{"artifactId":"template-validation-service","groupId":"eu.europa.ec.itb","versions":["1.18.1","1.18.0","1.17.0","1.16.1","1.16.0","1.15.1","1.15.0","1.14.1","1.14.0","1.13.0","1.12.0","1.11.1","1.11.0","1.10.2","1.10.1","1.10.0","1.9.1","1.9.0","1.8.0","1.7.2","1.7.1","1.7.0","1.6.1","1.6.0","1.5.0","1.4.1","1.4.0","1.4.0.1"],"description":"Maven archetype for the generation of a GITB-compliant validation service."},{"artifactId":"jakartaee-essentials-archetype","groupId":"eu.jmsanchez","versions":["0.0.2","0.0.1"],"description":"Jakarta EE base project quickstart."},{"artifactId":"quickstart-java","groupId":"eu.stratosphere","versions":["0.5.2","0.5.2-hadoop2","0.5.1","0.5.1-hadoop2","0.5","0.5-rc3","0.5-rc3-hadoop2","0.5-rc2","0.5-rc2-hadoop2","0.5-hadoop2","0.4","0.4-rc1"]},{"artifactId":"quickstart-scala","groupId":"eu.stratosphere","versions":["0.5.2","0.5.2-hadoop2","0.5.1","0.5.1-hadoop2","0.5","0.5-rc3","0.5-rc3-hadoop2","0.5-rc2","0.5-rc2-hadoop2","0.5-hadoop2","0.4","0.4-rc1"]},{"artifactId":"first-archetype-basic","groupId":"eu.tarienna","versions":["0.0.1"],"description":"A maven archetype to generate a basic FIRST application skeleton."},{"artifactId":"java6se-spring3-archetype","groupId":"eu.vitaliy","versions":["1.0.0"],"description":"Simple spring 3 archetype"},{"artifactId":"payara-micro-maven-archetype","groupId":"fish.payara.maven.archetypes","versions":["2.0","1.4.0","1.3.0","1.2.0","1.1.0","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0"],"description":"Archetype for Payara Micro application."},{"artifactId":"jee-war-archetype","groupId":"fr.brouillard.oss","versions":["7.0.1","7.0.0"],"description":"Creates jee ready to use webapp"},{"artifactId":"jgitver-jar-archetype","groupId":"fr.brouillard.oss","versions":["1.0.0"],"description":"Creates ready to use jar maven project using jgitver"},{"artifactId":"archetype-default-pom","groupId":"fr.fastconnect.factory.tibco","versions":["2.4.1","2.4.0","2.3.5"],"description":"This archetype will create an independent POM with default properties\n\t\trequired by the FC TIBCO Factory plugins."},{"artifactId":"archetype-default-project","groupId":"fr.fastconnect.factory.tibco","versions":["2.3.4","2.3.3","2.3.2","2.3.1","2.3.0"],"description":"This archetype will create an independent POM with default properties\n\t\trequired by the FC TIBCO Factory plugins."},{"artifactId":"archetype-default-workspace","groupId":"fr.fastconnect.factory.tibco","versions":["2.4.1","2.4.0","2.3.5","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0"],"description":"This archetype creates the default workspace (with BusinessWorks projects, Java projects & delivery project)."},{"artifactId":"archetype-bw-default-project","groupId":"fr.fastconnect.factory.tibco.bw.maven","versions":["2.4.1","2.4.0","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0"],"description":"This archetype creates an empty TIBCO BusinessWorks project."},{"artifactId":"archetype-bw-default-projlib","groupId":"fr.fastconnect.factory.tibco.bw.maven","versions":["2.4.1","2.4.0","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0"],"description":"This archetype creates an empty TIBCO BusinessWorks Projlib project."},{"artifactId":"archetype-bw-mavenizer","groupId":"fr.fastconnect.factory.tibco.bw.maven","versions":["2.4.1","2.4.0","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0"],"description":"This archetype will create a POM that inherits from FC TIBCO Factory\n\t\tparent POM *OR* from the client's root POM created with\n\t\t'archetype-client-root-project' archetype.\n\n\t\tThis POM will be the Maven configuration for the existing TIBCO BW\n\t\tproject.\n\t\t\n\t\t1) you want to use the default FC TIBCO Factory parent, then replace the\n\t\t'rootProjectGroupId', 'rootProjectArtifactId' & 'rootProjectVersion'\n\t\tby the content of 'fcFactoryGroupId', 'fcFactoryArtifactId' &\n\t\t'fcFactoryVersion' respectively.\n\t\t\n\t\t2) you want to use your own parent created with\n\t\t'archetype-client-root-project', then replace 'rootProjectGroupId',\n\t\t'rootProjectArtifactId' & 'rootProjectVersion' by the values of your\n\t\town parent (ex: 'com.company.project', 'project-root', '1.0.0')."},{"artifactId":"archetype-client-root-project","groupId":"fr.fastconnect.factory.tibco.bw.maven","versions":["2.3.2","2.3.1","2.3.0"],"description":"This archetype will create a POM that inherits from FC TIBCO Factory\n\t\tparent POM.\n\t \n\t\tThis POM will be the central configuration for all the TIBCO\n\t\tBusinessWorks projects of this client project. It is possible for\n\t\tinstance to redefine here the default properties that will be used for\n\t\tany TIBCO BusinessWorks projects."},{"artifactId":"angular2-gwt.archetype","groupId":"fr.lteconsulting","versions":["1.8","1.7","1.6","1.5","1.4","1.3","1.1","1.0"]},{"artifactId":"quickstart-java8","groupId":"fr.lteconsulting.archetypes","versions":["1.0"]},{"artifactId":"manastria-archetype-introduction","groupId":"fr.manastria","versions":["1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0"],"description":"A Manastria archetype for beginner."},{"artifactId":"spark-simple-archetype","groupId":"fr.uha.ensisa.ff","versions":["0.0.8","0.0.7","0.0.6","0.0.5","0.0.4","0.0.3","0.0.2","0.0.1"],"description":"An extremely simple Spark kickoff project."},{"artifactId":"spring-mvc-archetype","groupId":"fr.uha.ensisa.ff","versions":["1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3"],"description":"An extremely simple Spring MVC"},{"artifactId":"simpleweb4j-archetype","groupId":"fr.ybonnel","versions":["0.0.4","0.0.3","0.0.2","0.0.1"],"description":"An archetype for SimpleWeb4j."},{"artifactId":"mortnon-archetype","groupId":"fun.mortnon","versions":["0.0.1"],"description":"mortnon archetype"},{"artifactId":"ruoyi-archetype","groupId":"fun.mortnon.moulds","versions":["4.7.0-RC1"],"description":"RuoYi Management System Archetype"},{"artifactId":"truelicense-maven-archetype","groupId":"global.namespace.truelicense-maven-archetype","versions":["4.0.3","4.0.2","4.0.1","4.0.0","4.0.0-RC3","4.0.0-RC2","4.0.0-RC1","4.0.0-M3","4.0.0-M1"],"description":"The TrueLicense Maven Archetype is a turn-key solution for designing\n and implementing a custom licensing schema for your software product.\n The archetype generates a tailor-made project which is composed of\n ready-made modules for vending and consuming license keys.\n The modules contain code templates which you can easily customize\n without writing code by configuring a set of properties."},{"artifactId":"truelicense-maven-plugin","groupId":"global.namespace.truelicense-maven-archetype","versions":["4.0.0-M1"],"description":"The TrueLicense Maven Archetype is a turn-key solution for designing\n and implementing a custom licensing schema for your software product.\n The archetype generates a tailor-made project which is composed of\n ready-made modules for vending and consuming license keys.\n The modules contain code templates which you can easily customize\n without writing code by configuring a set of properties."},{"artifactId":"wildfly-bootable-jaxrs-archetype","groupId":"gr.sergouniotis","versions":["1.0.1","1.0.0"],"description":"Archetype for creating a jaxrs microprofile application with wildfly bootable jar"},{"artifactId":"webproject","groupId":"guru.bug.javacourses","versions":["2.0.0","1.0.0"],"description":"Java Courses simple WEB project archetype"},{"artifactId":"judo-jsl-springboot-archetype","groupId":"hu.blackbelt.judo.jsl","versions":["1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"JUDO Specific Language Springboot Archetype"},{"artifactId":"testAutomation","groupId":"hu.meza.tools","versions":["1.0"],"description":"An archetype for test automation projects"},{"artifactId":"jnuit-archetype","groupId":"im.bci","versions":["0.13","0.12","0.11","0.10","0.9","0.8","0.7","0.6","0.5"],"description":"Create a full featured game project: lwjgl for rendering, jnuit for GUI, artemis for Entity System, guice for dependency injection, maven plugins for installer/package generators for Windows, Debian, Fedora and other OS, support of Keyboard/Mouse/Gamepad inputs settings..."},{"artifactId":"rabbit-archetype","groupId":"in.hocg","versions":["1.0.0"]},{"artifactId":"rabbit-archetype","groupId":"in.hocg.archetype","versions":["1.0.3","1.0.2","1.0.1"]},{"artifactId":"dhelm-archetype-quickstart","groupId":"in.kncsolutions.dhelm.archetype","versions":["1.0.0"],"description":"Dhelm-archetype-quickstart is an archetype for dhelm project."},{"artifactId":"archetype","groupId":"in.kyle.mcspring","versions":["0.0.5","0.0.3"]},{"artifactId":"mcspring-archetype","groupId":"in.kyle.mcspring","versions":["0.0.8","0.0.7","0.0.6"]},{"artifactId":"viritin-vaadin-flow-archetype","groupId":"in.virit","versions":["1.1","1.0"],"description":"This archetype creates a minimal Vaadin application for basic servlet container."},{"artifactId":"viritin-vaadin-flow-cdi-archetype","groupId":"in.virit","versions":["1.1","1.0"],"description":"This archetype creates a project base for Java EE (CDI) with Vaadin UI."},{"artifactId":"viritin-vaadin-flow-spring-archetype","groupId":"in.virit","versions":["1.1","1.0"],"description":"This archetype creates a project base for Spring Boot + Vaadin application."},{"artifactId":"vwscdn-archetype","groupId":"in.virit.vwscdn","versions":["1.3.6","1.3.5","1.3.4","1.3.3","1.3.2"],"description":"cdn.virit.in project archetype"},{"artifactId":"sally4-module-archetype","groupId":"info.kwarc.sally4","versions":["1.0.0","0.0.8","0.0.7"],"description":"Semantic Alliance Communication Module Archetype"},{"artifactId":"comm-archetype","groupId":"info.kwarc.sally4.comm","versions":["1.0.0","0.0.8","0.0.7"],"description":"Semantic Alliance Communication Module Archetype"},{"artifactId":"java-advanced","groupId":"info.tomfi.archetypes","versions":["1.1.11","1.1.10","1.1.9","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Java project ready for proffesionals.\n A plain Java project, includes unit tests, code coverage, mutation tests, and integration tests."},{"artifactId":"java-advanced-mod","groupId":"info.tomfi.archetypes","versions":["1.1.11","1.1.10","1.1.9","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Java project ready for proffesionals.\n A modular (JPMS) Java project, includes unit tests, code coverage, mutation tests, and integration tests."},{"artifactId":"java-full","groupId":"info.tomfi.archetypes","versions":["1.1.11","1.1.10","1.1.9","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Java project ready for OSSRH deployments.\n A plain Java project, includes unit tests, code coverage, mutation tests, integration tests,\n packaging, signing, licensing, and deployment configuration."},{"artifactId":"java-full-mod","groupId":"info.tomfi.archetypes","versions":["1.1.11","1.1.10","1.1.9","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Java project ready for OSSRH deployments.\n A modular (JPMS) Java project, includes unit tests, code coverage, mutation tests, integration tests,\n packaging, signing, licensing, and deployment configuration."},{"artifactId":"java-playground","groupId":"info.tomfi.archetypes","versions":["1.1.11","1.1.10","1.1.9","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Java project for playaround, hacking, or just testing some stuff out.\n A plain Java project, includes unit tests with JUnit's plarform."},{"artifactId":"java-playground-mod","groupId":"info.tomfi.archetypes","versions":["1.1.11","1.1.10","1.1.9","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Java project for playaround, hacking, or just testing some stuff out.\n A modular (JPMS) Java project, includes unit tests with JUnit's plarform."},{"artifactId":"archetype-http","groupId":"io.activej","versions":["5.5-rc3","5.5-rc2","5.5-rc1","5.4.3","5.4.2","5.4.1","5.4","5.3","5.2","5.1.1","5.1","5.0","5.0-rc3","5.0-rc2","5.0-rc1","5.0-beta2","5.0-beta1","4.4-rc1","4.3.1","4.3","4.2","4.1.1","4.1","4.1-rc1","4.0","4.0-rc1","4.0-beta1","3.1-rc1","3.0.2","3.0.1","3.0","3.0-rc2","3.0-rc1","2.2","2.1","2.0.1","2.0","2.0-rc1","1.1","1.0","1.0-rc2","1.0-rc1"]},{"artifactId":"archetype-jdbc","groupId":"io.activej","versions":["5.5-rc3","5.5-rc2","5.5-rc1","5.4.3","5.4.2","5.4.1","5.4","5.3","5.2","5.1.1","5.1","5.0"]},{"artifactId":"archetype-rpc","groupId":"io.activej","versions":["5.5-rc3","5.5-rc2","5.5-rc1","5.4.3","5.4.2","5.4.1","5.4","5.3","5.2","5.1.1","5.1","5.0","5.0-rc3","5.0-rc2","5.0-rc1","5.0-beta2","5.0-beta1","4.4-rc1","4.3.1","4.3","4.2","4.1.1","4.1","4.1-rc1","4.0","4.0-rc1","4.0-beta1","3.1-rc1","3.0.2","3.0.1","3.0","3.0-rc2","3.0-rc1","2.2","2.1","2.0.1","2.0","2.0-rc1","1.1","1.0","1.0-rc2","1.0-rc1"]},{"artifactId":"sample-server-archetype","groupId":"io.airlift","versions":["0.95","0.94","0.93","0.92","0.91","0.90","0.89","0.88","0.87","0.86","0.85","0.84","0.83","0.82","0.81","0.80","0.79","0.78","0.77","0.76","0.75","0.74","0.73","0.72","0.70","0.69","0.68","0.67","0.66","0.65"],"description":"Sample server archetype"},{"artifactId":"skeleton-server-archetype","groupId":"io.airlift","versions":["0.95","0.94","0.93","0.92","0.91","0.90","0.89","0.88","0.87","0.86","0.85","0.84","0.83","0.82","0.81","0.80","0.79","0.78","0.77","0.76","0.75","0.74","0.73","0.72","0.70","0.69","0.68","0.67","0.66","0.65"],"description":"Skeleton server archetype"},{"artifactId":"synapse-archetype-client-graphql","groupId":"io.americanexpress.synapse","versions":["0.3.12","0.3.11","0.3.10","0.3.9","0.3.8","0.3.7","0.3.6","0.3.5","0.3.4","0.3.3","0.3.2","0.3.1","0.3.0","0.2.21","0.2.20","0.2.19","0.2.18","0.2.17","0.2.16","0.2.15","0.2.14","0.2.13","0.2.12","0.2.11","0.2.10","0.2.9","0.2.8","0.2.7","0.2.6","0.2.5","0.2.4","0.2.3","0.2.2","0.2.1","0.2.0"]},{"artifactId":"synapse-archetype-client-rest","groupId":"io.americanexpress.synapse","versions":["0.3.12","0.3.11","0.3.10","0.3.9","0.3.8","0.3.7","0.3.6","0.3.5","0.3.4","0.3.3","0.3.2","0.3.1","0.3.0","0.2.21","0.2.20","0.2.19","0.2.18","0.2.17","0.2.16","0.2.15","0.2.14","0.2.13","0.2.12","0.2.11","0.2.10","0.2.9","0.2.8","0.2.7","0.2.6","0.2.5","0.2.4","0.2.3"]},{"artifactId":"synapse-archetype-client-rest-delete","groupId":"io.americanexpress.synapse","versions":["0.3.12","0.3.11","0.3.10","0.3.9","0.3.8","0.3.7","0.3.6","0.3.5","0.3.4","0.3.3","0.3.2","0.3.1","0.3.0","0.2.21","0.2.20","0.2.19","0.2.18","0.2.17","0.2.16","0.2.15","0.2.14","0.2.13","0.2.12","0.2.11","0.2.10","0.2.9","0.2.8","0.2.7","0.2.6","0.2.5","0.2.4","0.2.3"]},{"artifactId":"synapse-archetype-client-rest-get","groupId":"io.americanexpress.synapse","versions":["0.3.12","0.3.11","0.3.10","0.3.9","0.3.8","0.3.7","0.3.6","0.3.5","0.3.4","0.3.3","0.3.2","0.3.1","0.3.0","0.2.21","0.2.20","0.2.19","0.2.18","0.2.17","0.2.16","0.2.15","0.2.14","0.2.13","0.2.12","0.2.11","0.2.10","0.2.9","0.2.8","0.2.7","0.2.6","0.2.5","0.2.4","0.2.3"]},{"artifactId":"synapse-archetype-client-rest-post","groupId":"io.americanexpress.synapse","versions":["0.3.12","0.3.11","0.3.10","0.3.9","0.3.8","0.3.7","0.3.6","0.3.5","0.3.4","0.3.3","0.3.2","0.3.1","0.3.0","0.2.21","0.2.20","0.2.19","0.2.18","0.2.17","0.2.16","0.2.15","0.2.14","0.2.13","0.2.12","0.2.11","0.2.10","0.2.9","0.2.8","0.2.7","0.2.6","0.2.5","0.2.4","0.2.3"]},{"artifactId":"synapse-archetype-client-rest-put","groupId":"io.americanexpress.synapse","versions":["0.3.12","0.3.11","0.3.10","0.3.9","0.3.8","0.3.7","0.3.6","0.3.5","0.3.4","0.3.3","0.3.2","0.3.1","0.3.0","0.2.21","0.2.20","0.2.19","0.2.18","0.2.17","0.2.16","0.2.15","0.2.14","0.2.13","0.2.12","0.2.11","0.2.10","0.2.9","0.2.8","0.2.7","0.2.6","0.2.5","0.2.4","0.2.3"]},{"artifactId":"synapse-archetype-client-rest-reactive","groupId":"io.americanexpress.synapse","versions":["0.3.12","0.3.11","0.3.10","0.3.9","0.3.8","0.3.7","0.3.6","0.3.5","0.3.4","0.3.3","0.3.2","0.3.1","0.3.0","0.2.21","0.2.20","0.2.19","0.2.18","0.2.17","0.2.16","0.2.15","0.2.14","0.2.13","0.2.12","0.2.11","0.2.10","0.2.9","0.2.8","0.2.7","0.2.6","0.2.5","0.2.4","0.2.3"]},{"artifactId":"synapse-archetype-client-rest-reactive-delete","groupId":"io.americanexpress.synapse","versions":["0.3.12","0.3.11","0.3.10","0.3.9","0.3.8","0.3.7","0.3.6","0.3.5","0.3.4","0.3.3","0.3.2","0.3.1","0.3.0","0.2.21","0.2.20","0.2.19","0.2.18","0.2.17","0.2.16","0.2.15","0.2.14","0.2.13","0.2.12","0.2.11","0.2.10","0.2.9","0.2.8","0.2.7","0.2.6","0.2.5","0.2.4","0.2.3"]},{"artifactId":"synapse-archetype-client-rest-reactive-get","groupId":"io.americanexpress.synapse","versions":["0.3.12","0.3.11","0.3.10","0.3.9","0.3.8","0.3.7","0.3.6","0.3.5","0.3.4","0.3.3","0.3.2","0.3.1","0.3.0","0.2.21","0.2.20","0.2.19","0.2.18","0.2.17","0.2.16","0.2.15","0.2.14","0.2.13","0.2.12","0.2.11","0.2.10","0.2.9","0.2.8","0.2.7","0.2.6","0.2.5","0.2.4","0.2.3"]},{"artifactId":"synapse-archetype-client-rest-reactive-post","groupId":"io.americanexpress.synapse","versions":["0.3.12","0.3.11","0.3.10","0.3.9","0.3.8","0.3.7","0.3.6","0.3.5","0.3.4","0.3.3","0.3.2","0.3.1","0.3.0","0.2.21","0.2.20","0.2.19","0.2.18","0.2.17","0.2.16","0.2.15","0.2.14","0.2.13","0.2.12","0.2.11","0.2.10","0.2.9","0.2.8","0.2.7","0.2.6","0.2.5","0.2.4","0.2.3"]},{"artifactId":"synapse-archetype-client-rest-reactive-put","groupId":"io.americanexpress.synapse","versions":["0.3.12","0.3.11","0.3.10","0.3.9","0.3.8","0.3.7","0.3.6","0.3.5","0.3.4","0.3.3","0.3.2","0.3.1","0.3.0","0.2.21","0.2.20","0.2.19","0.2.18","0.2.17","0.2.16","0.2.15","0.2.14","0.2.13","0.2.12","0.2.11","0.2.10","0.2.9","0.2.8","0.2.7","0.2.6","0.2.5","0.2.4","0.2.3"]},{"artifactId":"synapse-archetype-data-postgres","groupId":"io.americanexpress.synapse","versions":["0.3.12","0.3.11","0.3.10","0.3.9","0.3.8","0.3.7","0.3.6","0.3.5","0.3.4","0.3.3","0.3.2","0.3.1","0.3.0"]},{"artifactId":"synapse-archetype-service-rest-delete","groupId":"io.americanexpress.synapse","versions":["0.3.12","0.3.11","0.3.10","0.3.9","0.3.8","0.3.7","0.3.6","0.3.5","0.3.4","0.3.3","0.3.2","0.3.1","0.3.0"]},{"artifactId":"synapse-archetype-service-rest-get","groupId":"io.americanexpress.synapse","versions":["0.3.12","0.3.11","0.3.10","0.3.9","0.3.8","0.3.7","0.3.6","0.3.5","0.3.4","0.3.3","0.3.2","0.3.1","0.3.0"]},{"artifactId":"synapse-archetype-service-rest-post","groupId":"io.americanexpress.synapse","versions":["0.3.12","0.3.11","0.3.10","0.3.9","0.3.8","0.3.7","0.3.6","0.3.5","0.3.4","0.3.3","0.3.2","0.3.1","0.3.0"]},{"artifactId":"synapse-archetype-service-rest-put","groupId":"io.americanexpress.synapse","versions":["0.3.12","0.3.11","0.3.10","0.3.9","0.3.8","0.3.7","0.3.6","0.3.5","0.3.4","0.3.3","0.3.2","0.3.1","0.3.0"]},{"artifactId":"synapse-archetype-service-rest-reactive-get","groupId":"io.americanexpress.synapse","versions":["0.3.12","0.3.11","0.3.10","0.3.9","0.3.8"]},{"artifactId":"synapse-archetype-service-rest-reactive-post","groupId":"io.americanexpress.synapse","versions":["0.3.12","0.3.11","0.3.10","0.3.9","0.3.8","0.3.7","0.3.6","0.3.5","0.3.4","0.3.3","0.3.2","0.3.1","0.3.0"]},{"artifactId":"synapse-archetype-service-rest-reactive-put","groupId":"io.americanexpress.synapse","versions":["0.3.12","0.3.11","0.3.10","0.3.9","0.3.8"]},{"artifactId":"lyricist-quickstart","groupId":"io.andromeda","versions":["0.2.3","0.2.2"]},{"artifactId":"apigee-edge-maven-archtypes","groupId":"io.apigee.build-tools.enterprise4g","versions":["2.0.3"]},{"artifactId":"apigee-edge-quickstart-archetype","groupId":"io.apigee.build-tools.enterprise4g","versions":["1"],"description":"Basic implementation of an Apigee Edge API to get started quickly"},{"artifactId":"appbricks-archetype-dubbox-service","groupId":"io.appbricks","versions":["3.1.0","3.0.2","2.1","2.0","1.0"],"description":"a maven archetype for appbricks service"},{"artifactId":"automatiko-archetype","groupId":"io.automatiko.archetypes","versions":["0.22.0","0.21.0","0.20.0","0.19.0","0.18.0","0.17.0","0.16.1","0.16.0","0.15.0","0.14.0","0.13.0","0.12.0","0.11.0","0.10.0","0.9.0","0.8.0","0.7.0","0.6.0","0.5.0","0.4.0","0.3.0","0.2.0","0.1.0"],"description":"Automatiko Service Archetype"},{"artifactId":"automatiko-batch-archetype","groupId":"io.automatiko.archetypes","versions":["0.22.0","0.21.0","0.20.0","0.19.0","0.18.0","0.17.0","0.16.1","0.16.0","0.15.0","0.14.0","0.13.0","0.12.0","0.11.0","0.10.0","0.9.0","0.8.0","0.7.0","0.6.0","0.5.0","0.4.0","0.3.0","0.2.0","0.1.0"],"description":"Automatiko Service for batch processing Archetype"},{"artifactId":"automatiko-db-archetype","groupId":"io.automatiko.archetypes","versions":["0.22.0","0.21.0","0.20.0","0.19.0","0.18.0","0.17.0","0.16.1","0.16.0","0.15.0","0.14.0","0.13.0","0.12.0","0.11.0","0.10.0","0.9.0","0.8.0","0.7.0","0.6.0","0.5.0","0.4.0","0.3.0","0.2.0","0.1.0"],"description":"Automatiko Service for database record Archetype"},{"artifactId":"automatiko-event-stream-archetype","groupId":"io.automatiko.archetypes","versions":["0.22.0","0.21.0","0.20.0","0.19.0","0.18.0","0.17.0","0.16.1","0.16.0","0.15.0","0.14.0","0.13.0","0.12.0","0.11.0","0.10.0","0.9.0","0.8.0","0.7.0","0.6.0","0.5.0","0.4.0","0.3.0","0.2.0","0.1.0"],"description":"Automatiko Service for Event Stream Archetype"},{"artifactId":"automatiko-function-archetype","groupId":"io.automatiko.archetypes","versions":["0.22.0","0.21.0","0.20.0","0.19.0","0.18.0","0.17.0","0.16.1","0.16.0","0.15.0","0.14.0","0.13.0","0.12.0","0.11.0","0.10.0","0.9.0","0.8.0","0.7.0","0.6.0","0.5.0","0.4.0","0.3.0","0.2.0","0.1.0"],"description":"Automatiko Function Archetype"},{"artifactId":"automatiko-function-flow-archetype","groupId":"io.automatiko.archetypes","versions":["0.22.0","0.21.0","0.20.0","0.19.0","0.18.0","0.17.0","0.16.1","0.16.0","0.15.0","0.14.0","0.13.0","0.12.0","0.11.0","0.10.0","0.9.0","0.8.0","0.7.0","0.6.0","0.5.0","0.4.0","0.3.0","0.2.0","0.1.0"],"description":"Automatiko Function Flow Archetype"},{"artifactId":"automatiko-iot-archetype","groupId":"io.automatiko.archetypes","versions":["0.22.0","0.21.0","0.20.0","0.19.0","0.18.0","0.17.0","0.16.1","0.16.0","0.15.0","0.14.0","0.13.0","0.12.0","0.11.0","0.10.0","0.9.0","0.8.0","0.7.0","0.6.0","0.5.0","0.4.0","0.3.0","0.2.0","0.1.0"],"description":"Automatiko Service for IoT Archetype"},{"artifactId":"automatiko-operator-archetype","groupId":"io.automatiko.archetypes","versions":["0.22.0","0.21.0","0.20.0","0.19.0","0.18.0","0.17.0","0.16.1","0.16.0","0.15.0","0.14.0","0.13.0","0.12.0","0.11.0","0.10.0","0.9.0","0.8.0","0.7.0","0.6.0","0.5.0","0.4.0","0.3.0"],"description":"Automatiko Service for Kubernetes Operator Archetype"},{"artifactId":"automatiko-orchestration-archetype","groupId":"io.automatiko.archetypes","versions":["0.22.0","0.21.0","0.20.0","0.19.0","0.18.0","0.17.0","0.16.1","0.16.0","0.15.0","0.14.0","0.13.0","0.12.0","0.11.0","0.10.0","0.9.0","0.8.0","0.7.0","0.6.0","0.5.0","0.4.0","0.3.0","0.2.0","0.1.0"],"description":"Automatiko Service for service orchestration Archetype"},{"artifactId":"kafka-connect-plugin-archetype","groupId":"io.axual.archetypes","versions":["0.0.1-alpha-2","0.0.1-alpha-1"],"description":"Archetype for creating an Apache Kafka Connect plugin project"},{"artifactId":"spa-archetype","groupId":"io.azam.spa","versions":["1.0.1","1.0.0"],"description":"Single page application (SPA) Java servlet Maven archetype"},{"artifactId":"baratine-maven-archetype","groupId":"io.baratine","versions":["0.10.3","0.10.2","0.10.1","0.10.0"],"description":"Baratine Maven Archetype"},{"artifactId":"braid-quickstart","groupId":"io.bluebank.braid","versions":["4.1.2-RC11","4.1.2-RC10","4.1.2-RC08","4.1.2-RC07","4.1.2-RC06","4.1.1","4.1.1-patch-01","4.1.0","4.1.0-RC01","3.3.4","3.3.3","3.3.2","3.3.1","3.3.0","3.2.8","3.2.7","3.2.6","3.2.5","3.2.4","3.2.3","3.2.2","3.2.1","3.2.0","3.1.6"]},{"artifactId":"brooklyn-archetype-quickstart","groupId":"io.brooklyn","versions":["0.7.0-M1","0.6.0","0.6.0-rc.4","0.6.0-rc.3","0.6.0-rc.2","0.6.0-rc.1","0.6.0-M2"],"description":"This project defines an archetype for creating new projects which consume brooklyn, \n including an example application and an example new entity type, \n able to build an OSGi JAR and a binary assembly, with logging and READMEs."},{"artifactId":"brooklyn-ambari-service","groupId":"io.brooklyn.ambari","versions":["0.7.0","0.6.0","0.5.0","0.5.0-20160803.1156","0.4.1","0.3.0","0.2.0"]},{"artifactId":"cdap-data-pipeline-plugins-archetype","groupId":"io.cdap.cdap","versions":["6.8.1","6.8.0","6.7.3","6.7.2","6.7.1","6.7.0","6.6.0","6.5.1","6.5.0","6.4.1","6.4.0","6.3.0","6.2.3","6.2.2","6.2.1","6.2.0","6.1.4","6.1.3","6.1.2","6.1.1","6.0.0"]},{"artifactId":"jakartaee-mp-archetype","groupId":"io.codelair","versions":["1.5.0"],"description":"A starter archetype for a ThinWar project using Jakarta EE and MicroProfile, without any sketchy parent-pom's."},{"artifactId":"spring-boot-full-microservice-archetype","groupId":"io.codingpassion","versions":["0.1.1","0.1"],"description":"Maven Archetype which can be used to generate Spring Boot microservice application with additional configuration and tools."},{"artifactId":"kafka-connect-quickstart","groupId":"io.confluent.maven","versions":["0.10.0.0"],"description":"A quickstart for building Kafka Connect connectors."},{"artifactId":"JavaEE7-Angular2-Architype","groupId":"io.coodoo","versions":["1.0"],"description":"e easiest way to get started with JavaEE + Angular2"},{"artifactId":"braid-quickstart","groupId":"io.cordite.braid","versions":["4.4.1","4.4.0","4.4.0-RC03","4.4.0-RC02","4.4.0-RC01"]},{"artifactId":"cucumber-archetype","groupId":"io.cucumber","versions":["7.11.1","7.11.0","7.10.1","7.10.0","7.9.0","7.8.1","7.8.0","7.7.0","7.6.0","7.5.0","7.4.1","7.4.0","7.3.4","7.3.3","7.3.2","7.3.1","7.3.0","7.2.3","7.2.2","7.2.1","7.2.0","7.1.0","7.0.0","7.0.0-RC1","6.11.0","6.10.4","6.10.3","6.10.2","6.10.1","6.10.0","6.9.1","6.9.0","6.8.2","6.8.1","6.8.0","6.7.0","6.6.1","6.6.0","6.5.1","6.5.0","6.4.0","6.3.0","6.2.2","6.2.1","6.2.0","6.1.2","6.1.1","6.1.0","6.0.0","6.0.0-RC2","6.0.0-RC1","5.7.0","5.6.0","5.5.0","5.4.2","5.4.1","5.4.0","5.3.0","5.2.0","5.1.3","5.1.2","5.1.1","5.1.0","2.3.1","5.0.0.0","4.8.1.0","4.8.0.0","4.7.2.0","4.2.6.1","4.2.6.0","2.3.1.2","2.3.1.1"],"description":"Cucumber JVM: Maven Archetype"},{"artifactId":"identityserver.plugins.archetypes.alarm-handler","groupId":"io.curity","versions":["3.0.0","2.5.0","2.4.0","2.3.0"],"description":"An archetype that generates the Java source code necessary to create an alarm handler plug-in."},{"artifactId":"identityserver.plugins.archetypes.authentication-action","groupId":"io.curity","versions":["3.0.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.0"]},{"artifactId":"identityserver.plugins.archetypes.authenticator","groupId":"io.curity","versions":["3.0.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.0"],"description":"An archetype that generates the source code necessary to create an authenticator plug-in"},{"artifactId":"identityserver.plugins.archetypes.authorization-manager","groupId":"io.curity","versions":["3.0.0"],"description":"An archetype that generates the Java source code necessary to create an authorization manager plug-in."},{"artifactId":"identityserver.plugins.archetypes.backchannel-authenticator","groupId":"io.curity","versions":["3.0.0","2.5.0","2.4.0"],"description":"An archetype that generates the source code necessary to create a back-channel authenticator plug-in"},{"artifactId":"identityserver.plugins.archetypes.claims-provider","groupId":"io.curity","versions":["3.0.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.0"]},{"artifactId":"identityserver.plugins.archetypes.consentor","groupId":"io.curity","versions":["3.0.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.0"]},{"artifactId":"identityserver.plugins.archetypes.data-access-provider","groupId":"io.curity","versions":["3.0.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.0"]},{"artifactId":"identityserver.plugins.archetypes.email-sender","groupId":"io.curity","versions":["3.0.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.0"]},{"artifactId":"identityserver.plugins.archetypes.event-listener","groupId":"io.curity","versions":["3.0.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.0"]},{"artifactId":"identityserver.plugins.archetypes.kotlin-alarm-handler","groupId":"io.curity","versions":["3.0.0","2.5.0","2.4.0","2.3.0"],"description":"An archetype that generates the Kotlin source code necessary to create an alarm handler plug-in."},{"artifactId":"identityserver.plugins.archetypes.kotlin-authentication-action","groupId":"io.curity","versions":["3.0.0","2.5.0","2.4.0","2.3.0","2.2.0"],"description":"An archetype that generates the Kotlin source code necessary to create an authentication action plug-in."},{"artifactId":"identityserver.plugins.archetypes.kotlin-authenticator","groupId":"io.curity","versions":["3.0.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.0"],"description":"An archetype that generates the Kotlin source code necessary to create an authenticator plug-in."},{"artifactId":"identityserver.plugins.archetypes.kotlin-authorization-manager","groupId":"io.curity","versions":["3.0.0"],"description":"An archetype that generates the Kotlin source code necessary to create an authorization manager plug-in."},{"artifactId":"identityserver.plugins.archetypes.kotlin-backchannel-authenticator","groupId":"io.curity","versions":["3.0.0","2.5.0","2.4.0"],"description":"An archetype that generates the Kotlin source code necessary to create a back-channel authenticator plug-in."},{"artifactId":"identityserver.plugins.archetypes.kotlin-claims-provider","groupId":"io.curity","versions":["3.0.0","2.5.0","2.4.0","2.3.0","2.2.0"],"description":"An archetype that generates the Kotlin source code necessary to create a claims provider plug-in."},{"artifactId":"identityserver.plugins.archetypes.kotlin-consentor","groupId":"io.curity","versions":["3.0.0","2.5.0","2.4.0","2.3.0","2.2.0"],"description":"An archetype that generates the Kotlin source code necessary to create a consentor plug-in."},{"artifactId":"identityserver.plugins.archetypes.kotlin-data-access-provider","groupId":"io.curity","versions":["3.0.0","2.5.0","2.4.0","2.3.0","2.2.0"],"description":"An archetype that generates the Kotlin source code necessary to create a data access provider plug-in."},{"artifactId":"identityserver.plugins.archetypes.kotlin-email-sender","groupId":"io.curity","versions":["3.0.0","2.5.0","2.4.0","2.3.0","2.2.0"],"description":"An archetype that generates the Kotlin source code necessary to create an email sender plug-in."},{"artifactId":"identityserver.plugins.archetypes.kotlin-event-listener","groupId":"io.curity","versions":["3.0.0","2.5.0","2.4.0","2.3.0","2.2.0"],"description":"An archetype that generates the Kotlin source code necessary to create an event listener plug-in."},{"artifactId":"identityserver.plugins.archetypes.kotlin-oauth-authenticator","groupId":"io.curity","versions":["3.0.0","2.5.0","2.4.0","2.3.0","2.2.0"],"description":"An archetype that generates the Kotlin source code necessary to create an authenticator plug-in that communicates with an upstream OAuth or OpenID Connect provider."},{"artifactId":"identityserver.plugins.archetypes.kotlin-signing-consentor","groupId":"io.curity","versions":["3.0.0","2.5.0","2.4.0","2.3.0","2.2.0"],"description":"An archetype that generates the Kotlin source code necessary to create signing consentor plug-in."},{"artifactId":"identityserver.plugins.archetypes.kotlin-sms-sender","groupId":"io.curity","versions":["3.0.0","2.5.0","2.4.0","2.3.0","2.2.0"],"description":"An archetype that generates the Kotlin source code necessary to create an sms sender plug-in."},{"artifactId":"identityserver.plugins.archetypes.oauth-authenticator","groupId":"io.curity","versions":["3.0.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.0"],"description":"An archetype that generates the source code necessary to create an authenticator plug-in that communicates with an upstream OAuth or OpenID Connect provider"},{"artifactId":"identityserver.plugins.archetypes.signing-consentor","groupId":"io.curity","versions":["3.0.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.0"]},{"artifactId":"identityserver.plugins.archetypes.sms-sender","groupId":"io.curity","versions":["3.0.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.0"]},{"artifactId":"archetype-http","groupId":"io.datakernel","versions":["3.1.0","3.0.1","3.0.0","3.0.0-rc"]},{"artifactId":"archetype-rpc","groupId":"io.datakernel","versions":["3.1.0","3.0.1","3.0.0","3.0.0-rc"]},{"artifactId":"datakernel-http-archetype","groupId":"io.datakernel","versions":["3.0.0-beta1"]},{"artifactId":"datakernel-rpc-archetype","groupId":"io.datakernel","versions":["3.0.0-beta1"]},{"artifactId":"http-archetype","groupId":"io.datakernel","versions":["3.0.0-beta2"]},{"artifactId":"rpc-archetype","groupId":"io.datakernel","versions":["3.0.0-beta2"]},{"artifactId":"uibuilder-quickstart-archetype","groupId":"io.devbench.uibuilder.archetypes","versions":["2.1.2","2.1.1","2.1.0","2.0.2","2.0.1","2.0.0","1.3.0","1.2.1","1.2.0","1.1.2","1.1.1","1.1.0"]},{"artifactId":"java-simple","groupId":"io.dropwizard.archetypes","versions":["4.0.0-beta.4","4.0.0-beta.3","4.0.0-beta.2","4.0.0-beta.1","3.0.0-beta.5","3.0.0-beta.4","3.0.0-beta.3","3.0.0-beta.2","3.0.0-beta.1","2.1.5","2.1.4","2.1.3","2.1.2","2.1.1","2.1.0","2.1.0-beta.9","2.1.0-beta.8","2.1.0-beta.7","2.1.0-beta.6","2.1.0-beta.5","2.1.0-beta.4","2.1.0-beta.3","2.1.0-beta.2","2.1.0-beta.1","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.0.26","2.0.25","2.0.24","2.0.23","2.0.22","2.0.21","2.0.20","2.0.19","2.0.18","2.0.17","2.0.16","2.0.15","2.0.14","2.0.13","2.0.12","2.0.11","2.0.10","2.0.9","2.0.8","2.0.7","2.0.6","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","2.0.0-rc9","2.0.0-rc5","2.0.0-rc4","2.0.0-rc3","2.0.0-rc2","2.0.0-rc1","2.0.0-rc14","2.0.0-rc13","2.0.0-rc12","2.0.0-rc11","2.0.0-rc10","2.0.0-rc0+test8","1.3.29","1.3.28","1.3.27","1.3.26","1.3.25","1.3.25-beta.2","1.3.24","1.3.23","1.3.22","1.3.21","1.3.20","1.3.19","1.3.18","1.3.17","1.3.16","1.3.15","1.3.14","1.3.13","1.3.12","1.3.11","1.3.10","1.3.9","1.3.8","1.3.7","1.3.6","1.3.5","1.3.4","1.3.3","1.3.2","1.3.1","1.3.0","1.3.0-rc7","1.3.0-rc6","1.3.0-rc5","1.3.0-rc4","1.3.0-rc3","1.3.0-rc2","1.3.0-rc1","1.2.9","1.2.8","1.2.7","1.2.6","1.2.5","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.2.0-rc6","1.2.0-rc5","1.2.0-rc4","1.2.0-rc3","1.2.0-rc2","1.2.0-rc1","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.1.0-rc4","1.1.0-rc3","1.1.0-rc2","1.1.0-rc1","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0","1.0.0-rc4","1.0.0-rc3","1.0.0-rc2","1.0.0-rc1","0.9.3","0.9.2","0.9.1","0.9.1-rc1","0.9.0","0.9.0-rc5","0.9.0-rc4","0.9.0-rc3","0.9.0-rc2","0.9.0-rc1","0.8.5","0.8.4","0.8.3","0.8.2","0.8.1","0.8.1-rc2","0.8.0","0.8.0-rc5","0.8.0-rc4","0.8.0-rc3","0.8.0-rc2"]},{"artifactId":"camel-cxf-code-first-archetype","groupId":"io.fabric8","versions":["1.0.0.redhat-423","1.0.0.redhat-412","1.0.0.redhat-394"],"description":"Creates a new Camel project using CXF in code (Java) first."},{"artifactId":"camel-cxf-contract-first-archetype","groupId":"io.fabric8","versions":["1.0.0.redhat-423","1.0.0.redhat-412","1.0.0.redhat-394"],"description":"Creates a new Camel project using CXF in contract (WSDL) first."},{"artifactId":"camel-drools-archetype","groupId":"io.fabric8","versions":["1.0.0.redhat-423","1.0.0.redhat-412","1.0.0.redhat-394"],"description":"Creates a new Camel project using the Drools rule engine."},{"artifactId":"camel-webservice-archetype","groupId":"io.fabric8","versions":["1.0.0.redhat-423","1.0.0.redhat-412","1.0.0.redhat-394"],"description":"Creates a new Camel web services project"},{"artifactId":"camel-amq-archetype","groupId":"io.fabric8.archetypes","versions":["1.1.0.CR1"],"description":"Creates a new quickstart project using Camel and ActiveMQ."},{"artifactId":"camel-cbr-archetype","groupId":"io.fabric8.archetypes","versions":["1.1.0.CR1"],"description":"Creates a new quickstart project for Camel based Content Based Router."},{"artifactId":"camel-cdi-archetype","groupId":"io.fabric8.archetypes","versions":["1.1.0.CR1"],"description":"Creates a new Camel CDI project which uses the Java Container in Fabric8."},{"artifactId":"camel-cxf-code-first-archetype","groupId":"io.fabric8.archetypes","versions":["1.1.0.CR1","1.1.0.Beta6","1.1.0.Beta5","1.1.0.Beta4","1.1.0.Beta3","1.1.0.Beta2","1.1.0.Beta1"],"description":"Creates a new Camel project using CXF in code (Java) first."},{"artifactId":"camel-cxf-contract-first-archetype","groupId":"io.fabric8.archetypes","versions":["1.1.0.CR1","1.1.0.Beta6","1.1.0.Beta5","1.1.0.Beta4","1.1.0.Beta3","1.1.0.Beta2","1.1.0.Beta1"],"description":"Creates a new Camel project using CXF in contract (WSDL) first."},{"artifactId":"camel-dozer-wiki-archetype","groupId":"io.fabric8.archetypes","versions":["1.1.0.CR1"],"description":"Creates a new Camel project using a Dozer transform where the camel routes and transforms are maintained in the wiki"},{"artifactId":"camel-drools-archetype","groupId":"io.fabric8.archetypes","versions":["1.1.0.CR1","1.1.0.Beta6","1.1.0.Beta5","1.1.0.Beta4","1.1.0.Beta3","1.1.0.Beta2","1.1.0.Beta1"],"description":"Creates a new Camel project using the Drools rule engine."},{"artifactId":"camel-eips-archetype","groupId":"io.fabric8.archetypes","versions":["1.1.0.CR1"],"description":"Creates a new quickstart project for Camel based Enterprise Integration Patterns."},{"artifactId":"camel-errorhandler-archetype","groupId":"io.fabric8.archetypes","versions":["1.1.0.CR1"],"description":"Creates a new quickstart project using Camel based Error handling."},{"artifactId":"camel-servlet-war-archetype","groupId":"io.fabric8.archetypes","versions":["1.1.0.CR1"],"description":"Creates a new quickstart project using Camel Servlet with a WAR."},{"artifactId":"camel-spring-boot-archetype","groupId":"io.fabric8.archetypes","versions":["1.1.0.CR1"],"description":"Shows how to use Camel with Spring Boot in the Java Container."},{"artifactId":"camel-spring-java-archetype","groupId":"io.fabric8.archetypes","versions":["1.1.0.CR1","1.1.0.Beta6"],"description":"Creates a new Camel Spring project which uses the Java Container in Fabric8."},{"artifactId":"camel-webservice-archetype","groupId":"io.fabric8.archetypes","versions":["1.1.0.CR1","1.1.0.Beta6","1.1.0.Beta5","1.1.0.Beta4","1.1.0.Beta3","1.1.0.Beta2","1.1.0.Beta1"],"description":"Creates a new Camel web services project"},{"artifactId":"cbr-archetype","groupId":"io.fabric8.archetypes","versions":["1.1.0.Beta6","1.1.0.Beta5","1.1.0.Beta4","1.1.0.Beta3","1.1.0.Beta2","1.1.0.Beta1"],"description":"Creates a new quickstart project for Camel based Content Based Router."},{"artifactId":"cdi-camel-amq-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159"],"description":"Creates a new Camel route using CDI and ActiveMQ in a standalone Java Container"},{"artifactId":"cdi-camel-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102","2.2.101","2.2.100","2.2.99","2.2.98","2.2.97","2.2.96","2.2.95","2.2.94","2.2.93","2.2.92","2.2.91","2.2.90","2.2.89","2.2.88","2.2.87","2.2.86","2.2.85","2.2.84","2.2.83","2.2.82","2.2.81","2.2.80","2.2.79","2.2.78","2.2.77","2.2.76","2.2.75","2.2.74","2.2.73","2.2.72","2.2.71","2.2.70","2.2.69","2.2.68","2.2.67","2.2.66","2.2.65","2.2.64","2.2.63","2.2.62","2.2.61","2.2.60","2.2.59","2.2.58","2.2.57","2.2.56","2.2.55","2.2.54","2.2.53","2.2.52","2.2.51","2.2.50","2.2.49","2.2.48","2.2.47","2.2.46","2.2.44","2.2.43","2.2.42","2.2.41","2.2.40","2.2.37"],"description":"Creates a new Camel route using CDI in a standalone Java Container"},{"artifactId":"cdi-camel-http-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102","2.2.101","2.2.100","2.2.99","2.2.98","2.2.97","2.2.96","2.2.95","2.2.94","2.2.93","2.2.92","2.2.91","2.2.90","2.2.89","2.2.88","2.2.87","2.2.86","2.2.85","2.2.84","2.2.83","2.2.82","2.2.81","2.2.80","2.2.79","2.2.78","2.2.77","2.2.76","2.2.75","2.2.74","2.2.73","2.2.72","2.2.71","2.2.70","2.2.69","2.2.68","2.2.67","2.2.66","2.2.65","2.2.64","2.2.63","2.2.62","2.2.61","2.2.60","2.2.59","2.2.58","2.2.57","2.2.56","2.2.55","2.2.54","2.2.53","2.2.52","2.2.51","2.2.50","2.2.49","2.2.48","2.2.47","2.2.46","2.2.44","2.2.43","2.2.42","2.2.41","2.2.40","2.2.37"],"description":"Creates a new Camel route using CDI in a standalone Java Container calling the remote camel-servlet quickstart"},{"artifactId":"cdi-camel-http-client-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159"],"description":"Creates a new Camel route using CDI in a standalone Java Container using HTTP client to call remote camel-jetty quickstart"},{"artifactId":"cdi-camel-jetty-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102","2.2.101","2.2.100","2.2.99","2.2.98","2.2.97","2.2.96","2.2.95","2.2.94","2.2.93","2.2.92","2.2.91","2.2.90","2.2.89","2.2.88","2.2.87","2.2.86","2.2.85","2.2.84","2.2.83","2.2.82","2.2.81","2.2.80","2.2.79","2.2.78","2.2.77","2.2.76","2.2.75","2.2.74","2.2.73","2.2.72","2.2.71","2.2.70","2.2.69","2.2.68","2.2.67","2.2.66","2.2.65","2.2.64","2.2.63","2.2.62","2.2.61","2.2.60","2.2.59","2.2.58","2.2.57","2.2.56","2.2.55","2.2.54","2.2.53","2.2.52","2.2.51","2.2.50","2.2.49","2.2.48","2.2.47","2.2.46","2.2.44"],"description":"Creates a new Camel route using CDI in a standalone Java Container using Jetty as HTTP server"},{"artifactId":"cdi-camel-mq-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102","2.2.101","2.2.100","2.2.99","2.2.98","2.2.97","2.2.96","2.2.95","2.2.94","2.2.93","2.2.92","2.2.91","2.2.90","2.2.89","2.2.88","2.2.87","2.2.86","2.2.85","2.2.84","2.2.83","2.2.82","2.2.81","2.2.80","2.2.79","2.2.78","2.2.77","2.2.76","2.2.75","2.2.74","2.2.73","2.2.72","2.2.71","2.2.70","2.2.69","2.2.68","2.2.67","2.2.66","2.2.65","2.2.64","2.2.63","2.2.62","2.2.61","2.2.60","2.2.59","2.2.58","2.2.57","2.2.56","2.2.55","2.2.54","2.2.53","2.2.52","2.2.51","2.2.50","2.2.49","2.2.48","2.2.47","2.2.46","2.2.44","2.2.43","2.2.42","2.2.41"],"description":"Creates a new Camel route using CDI and ActiveMQ in a standalone Java Container"},{"artifactId":"cdi-camel-swagger-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102","2.2.101","2.2.100","2.2.99","2.2.98"],"description":"Creates a new An example using REST DSL and Swagger Java with CDI"},{"artifactId":"cdi-cxf-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102","2.2.101","2.2.100","2.2.99","2.2.98","2.2.97","2.2.96","2.2.95","2.2.94","2.2.93","2.2.92","2.2.91","2.2.90","2.2.89","2.2.88","2.2.87","2.2.86","2.2.85","2.2.84","2.2.83","2.2.82","2.2.81","2.2.80","2.2.79","2.2.78","2.2.77","2.2.76","2.2.75","2.2.74","2.2.73","2.2.72","2.2.71","2.2.70","2.2.69","2.2.68","2.2.67","2.2.66","2.2.65","2.2.64","2.2.63","2.2.62","2.2.61","2.2.60","2.2.59","2.2.58","2.2.57","2.2.56","2.2.55","2.2.54","2.2.53","2.2.52","2.2.51","2.2.50","2.2.49","2.2.48","2.2.47","2.2.46","2.2.44","2.2.43","2.2.42","2.2.41","2.2.40","2.2.37"],"description":"Creates a new CXF JAX-RS using CDI running in a standalone Java Container"},{"artifactId":"django-example-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102","2.2.101","2.2.100","2.2.99","2.2.98","2.2.97","2.2.96","2.2.95","2.2.94"],"description":"Creates a new django example"},{"artifactId":"dotnet-example-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159"],"description":"Creates a new dotnet example"},{"artifactId":"eip-archetype","groupId":"io.fabric8.archetypes","versions":["1.1.0.Beta6","1.1.0.Beta5","1.1.0.Beta4","1.1.0.Beta3","1.1.0.Beta2","1.1.0.Beta1"],"description":"Creates a new quickstart project for Camel based Enterprise Integration Patterns."},{"artifactId":"errors-archetype","groupId":"io.fabric8.archetypes","versions":["1.1.0.Beta6","1.1.0.Beta5","1.1.0.Beta4","1.1.0.Beta3","1.1.0.Beta2","1.1.0.Beta1"],"description":"Creates a new quickstart project using Camel based Error handling."},{"artifactId":"funktion-groovy-example-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125"],"description":"Creates a new funktion groovy example"},{"artifactId":"funktion-java-example-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125"],"description":"Creates a new funktion java example"},{"artifactId":"funktion-kotlin-example-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125"],"description":"Creates a new funktion kotlin example"},{"artifactId":"funktion-nodejs-example-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127"],"description":"Creates a new Funktion :: Examples :: NodeJS"},{"artifactId":"golang-example-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102","2.2.101","2.2.100","2.2.99","2.2.98","2.2.97","2.2.96","2.2.95","2.2.94"],"description":"Creates a new golang example"},{"artifactId":"infinispan-client-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159"],"description":"Creates a new Camel route using Spring XML and Infinispan in a standalone Java container"},{"artifactId":"infinispan-infinispan-client-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106"],"description":"Creates a new Camel route using Spring XML and Infinispan in a standalone Java container"},{"artifactId":"infinispan-infinispan-server-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106"],"description":"Creates a new Infinispan Server"},{"artifactId":"infinispan-server-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159"],"description":"Creates a new Infinispan Server"},{"artifactId":"java-camel-cdi-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.34","2.2.32","2.2.31","2.2.28","2.2.27","2.2.19","2.2.18","2.2.17","2.2.16","2.2.14","2.2.12","2.2.11","2.2.10","2.2.7","2.2.5","2.2.3","2.2.2","2.2.1","2.2.0","2.1.11","2.1.10","2.1.9","2.1.6","2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.2.9.1","2.2.26.1","2.2.23.1","2.2.15.1","2.0.40.1","2.0.33.1","2.0.28.1","1.2.0.Beta4","1.2.0.Beta3","1.2.0.Beta2","1.2.0.Beta1","1.1.0.CR5","1.1.0.CR4","1.1.0.CR3","1.1.0.CR2"],"description":"Creates a new Camel route using CDI in a standalone Java Container"},{"artifactId":"java-camel-cdi-http-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.34","2.2.32","2.2.31","2.2.28","2.2.27","2.2.19","2.2.18","2.2.17","2.2.16","2.2.14","2.2.12","2.2.11","2.2.10","2.2.7","2.2.9.1","2.2.26.1","2.2.23.1","2.2.15.1"],"description":"Creates a new Camel route using CDI in a standalone Java Container calling the remote camel-servlet quickstart"},{"artifactId":"java-camel-cdi-mq-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.19","2.2.18","2.2.17","2.2.16","2.2.14","2.2.12","2.2.11","2.2.10","2.2.7","2.2.5","2.2.3","2.2.2","2.2.1","2.2.0","2.1.11","2.1.10","2.1.9","2.1.6","2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.2.9.1","2.2.23.1","2.2.15.1","2.0.40.1"],"description":"Creates a new Camel route using CDI and AcrtiveMQ in a standalone Java Container"},{"artifactId":"java-camel-cdi-rest-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.34","2.2.32","2.2.31","2.2.28","2.2.27","2.2.19","2.2.18","2.2.17","2.2.16","2.2.14","2.2.12","2.2.11","2.2.10","2.2.7","2.2.5","2.2.3","2.2.2","2.2.9.1","2.2.26.1","2.2.23.1","2.2.15.1"],"description":"Creates a new Camel route using CDI in a standalone Java Container as REST client"},{"artifactId":"java-camel-spring-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102","2.2.101","2.2.89","2.2.88","2.2.87","2.2.86","2.2.85","2.2.84","2.2.83","2.2.82","2.2.81","2.2.80","2.2.79","2.2.78","2.2.77","2.2.76","2.2.75","2.2.74","2.2.73","2.2.72","2.2.71","2.2.70","2.2.69","2.2.68","2.2.67","2.2.66","2.2.65","2.2.64","2.2.63","2.2.62","2.2.61","2.2.60","2.2.59","2.2.58","2.2.57","2.2.56","2.2.55","2.2.54","2.2.53","2.2.52","2.2.51","2.2.50","2.2.49","2.2.48","2.2.47","2.2.46","2.2.44","2.2.43","2.2.42","2.2.41","2.2.40","2.2.37","2.2.34","2.2.32","2.2.31","2.2.28","2.2.27","2.2.19","2.2.18","2.2.17","2.2.16","2.2.14","2.2.12","2.2.11","2.2.10","2.2.7","2.2.5","2.2.3","2.2.2","2.2.1","2.2.0","2.1.11","2.1.10","2.1.9","2.1.6","2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.2.9.1","2.2.26.1","2.2.23.1","2.2.15.1","2.0.40.1","2.0.33.1","2.0.28.1","1.2.0.Beta4","1.2.0.Beta3","1.2.0.Beta2","1.2.0.Beta1","1.1.0.CR5","1.1.0.CR4","1.1.0.CR3","1.1.0.CR2"],"description":"Creates a new Camel route using Spring XML in a standalone Java container"},{"artifactId":"java-cxf-cdi-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.34","2.2.32","2.2.31","2.2.28","2.2.27","2.2.19","2.2.18","2.2.17","2.2.16","2.2.14","2.2.12","2.2.11","2.2.10","2.2.7","2.2.5","2.2.3","2.2.2","2.2.1","2.2.0","2.1.11","2.1.10","2.1.9","2.1.6","2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.2.9.1","2.2.26.1","2.2.23.1","2.2.15.1","2.0.40.1","2.0.33.1","2.0.28.1","1.2.0.Beta4","1.2.0.Beta3","1.2.0.Beta2","1.2.0.Beta1","1.1.0.CR5","1.1.0.CR4","1.1.0.CR3"],"description":"Creates a new CXF JAX-RS using CDI running in a standalone Java Container"},{"artifactId":"java-fatjar-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102","2.2.101","2.2.100","2.2.99","2.2.98","2.2.97","2.2.96","2.2.95","2.2.94","2.2.93","2.2.92","2.2.91","2.2.90"],"description":"Creates a new Simple standalone Java Container (fat jar)"},{"artifactId":"java-jgroups-greeter-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.34","2.2.32","2.2.31","2.2.28","2.2.27","2.2.19","2.2.18","2.2.17","2.2.16","2.2.14","2.2.12","2.2.11","2.2.10","2.2.7","2.2.5","2.2.3","2.2.2","2.2.1","2.2.0","2.1.11","2.1.10","2.1.9","2.1.6","2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.2.9.1","2.2.26.1","2.2.23.1","2.2.15.1","2.0.40.1","2.0.33.1","2.0.28.1"],"description":"Creates a new Simple Jgroups Example using Kubernetes Discovery"},{"artifactId":"java-mainclass-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102","2.2.101","2.2.100","2.2.99","2.2.98","2.2.97","2.2.96","2.2.95","2.2.94","2.2.93","2.2.92","2.2.91","2.2.90"],"description":"Creates a new Simple standalone Java Container (main class)"},{"artifactId":"java-simple-fatjar-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.89","2.2.88","2.2.87","2.2.86","2.2.85","2.2.84","2.2.83","2.2.82","2.2.81","2.2.80","2.2.79","2.2.78","2.2.77","2.2.76","2.2.75","2.2.74","2.2.73","2.2.72","2.2.71","2.2.70","2.2.69","2.2.68","2.2.67","2.2.66","2.2.65","2.2.64","2.2.63","2.2.62","2.2.61","2.2.60","2.2.59","2.2.58","2.2.57","2.2.56","2.2.55","2.2.54","2.2.53","2.2.52","2.2.51","2.2.50","2.2.49","2.2.48","2.2.47","2.2.46","2.2.44","2.2.43","2.2.42","2.2.41","2.2.40","2.2.37","2.2.34","2.2.32","2.2.31","2.2.28","2.2.27","2.2.19","2.2.18","2.2.17","2.2.16","2.2.14","2.2.12","2.2.11","2.2.10","2.2.7","2.2.5","2.2.3","2.2.2","2.2.1","2.2.0","2.1.11","2.1.10","2.1.9","2.1.6","2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.2.9.1","2.2.26.1","2.2.23.1","2.2.15.1","2.0.40.1","2.0.33.1","2.0.28.1"],"description":"Creates a new Simple standalone Java Container (fat jar)"},{"artifactId":"java-simple-mainclass-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.89","2.2.88","2.2.87","2.2.86","2.2.85","2.2.84","2.2.83","2.2.82","2.2.81","2.2.80","2.2.79","2.2.78","2.2.77","2.2.76","2.2.75","2.2.74","2.2.73","2.2.72","2.2.71","2.2.70","2.2.69","2.2.68","2.2.67","2.2.66","2.2.65","2.2.64","2.2.63","2.2.62","2.2.61","2.2.60","2.2.59","2.2.58","2.2.57","2.2.56","2.2.55","2.2.54","2.2.53","2.2.52","2.2.51","2.2.50","2.2.49","2.2.48","2.2.47","2.2.46","2.2.44","2.2.43","2.2.42","2.2.41","2.2.40","2.2.37","2.2.34","2.2.32","2.2.31","2.2.28","2.2.27","2.2.19","2.2.18","2.2.17","2.2.16","2.2.14","2.2.12","2.2.11","2.2.10","2.2.7","2.2.5","2.2.3","2.2.2","2.2.1","2.2.0","2.1.11","2.1.10","2.1.9","2.1.6","2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.2.9.1","2.2.26.1","2.2.23.1","2.2.15.1","2.0.40.1","2.0.33.1","2.0.28.1"],"description":"Creates a new Simple standalone Java Container (main class)"},{"artifactId":"jboss-fuse-camel-amq-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162"],"description":"Creates a new ActiveMQ and Camel Example"},{"artifactId":"jboss-fuse-camel-log-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162"],"description":"Creates a new Camel Log Example"},{"artifactId":"jboss-fuse-camel-rest-sql-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162"],"description":"Creates a new Camel Example using Rest DSL with SQL Database"},{"artifactId":"jboss-fuse-cxf-rest-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.164","2.2.163","2.2.162"],"description":"Creates a new CXF Rest Example"},{"artifactId":"jms-archetype","groupId":"io.fabric8.archetypes","versions":["1.1.0.Beta6","1.1.0.Beta5","1.1.0.Beta4","1.1.0.Beta3","1.1.0.Beta2","1.1.0.Beta1"],"description":"Creates a new quickstart project using Camel and JMS."},{"artifactId":"karaf-beginner-camel-cbr-archetype","groupId":"io.fabric8.archetypes","versions":["2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.0.40.1","2.0.33.1","2.0.28.1"],"description":"Creates a new Camel Content-Based Router Example"},{"artifactId":"karaf-beginner-camel-eips-archetype","groupId":"io.fabric8.archetypes","versions":["2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.0.40.1","2.0.33.1","2.0.28.1"],"description":"Creates a new Camel using mutliple EIPs into a single solution"},{"artifactId":"karaf-beginner-camel-errorhandler-archetype","groupId":"io.fabric8.archetypes","versions":["2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.0.40.1","2.0.33.1","2.0.28.1"],"description":"Creates a new Error handling with Camel"},{"artifactId":"karaf-beginner-camel-log-archetype","groupId":"io.fabric8.archetypes","versions":["2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.0.40.1","2.0.33.1","2.0.28.1"],"description":"Creates a new Camel Log Example"},{"artifactId":"karaf-beginner-camel-log-wiki-archetype","groupId":"io.fabric8.archetypes","versions":["2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.0.40.1","2.0.33.1","2.0.28.1"],"description":"Creates a new Camel Log Example (wiki)"},{"artifactId":"karaf-camel-amq-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102","2.2.101","2.2.100","2.2.99","2.2.98","2.2.97","2.2.96","2.2.95","2.2.94","2.2.93","2.2.92","2.2.91","2.2.90","2.2.89","2.2.88","2.2.87","2.2.86","2.2.85","2.2.84","2.2.83","2.2.82","2.2.81","2.2.80","2.2.79","2.2.78","2.2.77","2.2.76","2.2.75","2.2.74","2.2.73","2.2.72","2.2.71","2.2.70","2.2.69","2.2.68","2.2.67","2.2.66","2.2.65","2.2.64","2.2.63","2.2.49","2.2.48","2.2.47","2.2.46","2.2.44","2.2.43","2.2.42","2.2.41","2.2.40","2.2.37","2.2.34","2.2.32","2.2.31","2.2.28","2.2.27","2.2.19","2.2.18","2.2.17","2.2.16","2.2.14","2.2.12","2.2.11","2.2.10","2.2.7","2.2.5","2.2.3","2.2.2","2.2.1","2.2.0","2.1.11","2.1.10","2.1.9","2.1.6","2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.2.9.1","2.2.26.1","2.2.23.1","2.2.15.1","2.0.40.1","2.0.33.1","2.0.28.1","1.2.0.redhat-133","1.2.0.Beta4","1.2.0.Beta3","1.2.0.Beta2","1.2.0.Beta1","1.1.0.CR5","1.1.0.CR4","1.1.0.CR3","1.1.0.CR2"],"description":"Creates a new ActiveMQ and Camel Example"},{"artifactId":"karaf-camel-cbr-archetype","groupId":"io.fabric8.archetypes","versions":["1.2.0.redhat-133","1.2.0.Beta4","1.2.0.Beta3","1.2.0.Beta2","1.2.0.Beta1","1.1.0.CR5","1.1.0.CR4","1.1.0.CR3","1.1.0.CR2"],"description":"Creates a new Camel Content-Based Router Example"},{"artifactId":"karaf-camel-cxf-code-first-archetype","groupId":"io.fabric8.archetypes","versions":["1.2.0.redhat-133","1.2.0.Beta4","1.2.0.Beta3","1.2.0.Beta2","1.2.0.Beta1","1.1.0.CR5","1.1.0.CR4","1.1.0.CR3","1.1.0.CR2"],"description":"Creates a new web service using Java code first"},{"artifactId":"karaf-camel-cxf-contract-first-archetype","groupId":"io.fabric8.archetypes","versions":["1.2.0.redhat-133","1.2.0.Beta4","1.2.0.Beta3","1.2.0.Beta2","1.2.0.Beta1","1.1.0.CR5","1.1.0.CR4","1.1.0.CR3","1.1.0.CR2"],"description":"Creates a new web service using the WSDL contract first"},{"artifactId":"karaf-camel-dozer-wiki-archetype","groupId":"io.fabric8.archetypes","versions":["1.2.0.Beta3","1.2.0.Beta2","1.2.0.Beta1","1.1.0.CR5","1.1.0.CR4","1.1.0.CR3","1.1.0.CR2"],"description":"Creates a new An example Camel project using a Dozer transform where the camel routes and transforms are maintained in the wiki"},{"artifactId":"karaf-camel-drools-archetype","groupId":"io.fabric8.archetypes","versions":["1.2.0.Beta3","1.2.0.Beta2","1.2.0.Beta1","1.1.0.CR5","1.1.0.CR4","1.1.0.CR3","1.1.0.CR2"],"description":"Creates a new Fabric8 :: Quickstarts :: Karaf :: Camel Drools"},{"artifactId":"karaf-camel-eips-archetype","groupId":"io.fabric8.archetypes","versions":["1.2.0.redhat-133","1.2.0.Beta4","1.2.0.Beta3","1.2.0.Beta2","1.2.0.Beta1","1.1.0.CR5","1.1.0.CR4","1.1.0.CR3","1.1.0.CR2"],"description":"Creates a new Camel using mutliple EIPs into a single solution"},{"artifactId":"karaf-camel-errorhandler-archetype","groupId":"io.fabric8.archetypes","versions":["1.2.0.redhat-133","1.2.0.Beta4","1.2.0.Beta3","1.2.0.Beta2","1.2.0.Beta1","1.1.0.CR5","1.1.0.CR4","1.1.0.CR3","1.1.0.CR2"],"description":"Creates a new Error handling with Camel"},{"artifactId":"karaf-camel-log-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102","2.2.101","2.2.100","2.2.99","2.2.98","2.2.97","2.2.96","2.2.95","2.2.94","2.2.93","2.2.92","2.2.91","2.2.90","2.2.89","2.2.88","2.2.87","2.2.86","2.2.85","2.2.84","2.2.83","2.2.82","2.2.81","2.2.80","2.2.79","2.2.78","2.2.77","2.2.76","2.2.75","2.2.74","2.2.73","2.2.72","2.2.71","2.2.70","2.2.69","2.2.68","2.2.67","2.2.66","2.2.65","2.2.64","2.2.63","2.2.62","2.2.61","2.2.60","2.2.59","2.2.58","2.2.57","2.2.56","2.2.55","2.2.54","2.2.53","2.2.52","2.2.51","2.2.50","2.2.49","2.2.48","2.2.47","2.2.46","2.2.44","2.2.43","2.2.42","2.2.41","2.2.40","2.2.37","2.2.34","2.2.32","2.2.31","2.2.28","2.2.27","2.2.19","2.2.18","2.2.17","2.2.16","2.2.14","2.2.12","2.2.11","2.2.10","2.2.7","2.2.5","2.2.3","2.2.2","2.2.1","2.2.0","2.1.11","2.1.10","2.1.9","2.1.6","2.2.9.1","2.2.26.1","2.2.23.1","2.2.15.1","1.2.0.redhat-133","1.2.0.Beta4","1.2.0.Beta3","1.2.0.Beta2","1.2.0.Beta1","1.1.0.CR5","1.1.0.CR4","1.1.0.CR3","1.1.0.CR2"],"description":"Creates a new Camel Log Example"},{"artifactId":"karaf-camel-log-wiki-archetype","groupId":"io.fabric8.archetypes","versions":["1.2.0.redhat-133","1.2.0.Beta4","1.2.0.Beta3","1.2.0.Beta2","1.2.0.Beta1","1.1.0.CR5","1.1.0.CR4","1.1.0.CR3","1.1.0.CR2"],"description":"Creates a new Camel Log Example (wiki)"},{"artifactId":"karaf-camel-rest-sql-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102","2.2.101","2.2.100","2.2.99","2.2.98","2.2.97","2.2.96","2.2.95","2.2.94","2.2.93","2.2.92","2.2.91","2.2.90","2.2.89","2.2.88","2.2.87","2.2.86","2.2.85","2.2.84","2.2.83","2.2.82","2.2.81","2.2.80","2.2.79","2.2.78","2.2.77","2.2.76","2.2.75","2.2.74","2.2.73","2.2.72","2.2.71","2.2.70","2.2.69","2.2.68","2.2.67","2.2.66","2.2.65","2.2.64","2.2.63","2.2.62","2.2.61","2.2.60","2.2.59","2.2.58","2.2.57","2.2.56","2.2.55","2.2.54","2.2.53","2.2.52","2.2.51","2.2.50","2.2.49","2.2.48","2.2.47","2.2.46","2.2.44","2.2.43","2.2.42","2.2.41","2.2.40","2.2.37","2.2.34","2.2.32","2.2.31","2.2.28","2.2.27","2.2.19","2.2.18","2.2.17","2.2.16","2.2.14","2.2.12","2.2.11","2.2.10","2.2.7","2.2.5","2.2.3","2.2.2","2.2.1","2.2.0","2.1.11","2.1.10","2.1.9","2.1.6","2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.2.9.1","2.2.26.1","2.2.23.1","2.2.15.1","2.0.40.1","2.0.33.1","2.0.28.1"],"description":"Creates a new Camel Example using Rest DSL with SQL Database"},{"artifactId":"karaf-camel-webservice-archetype","groupId":"io.fabric8.archetypes","versions":["1.2.0.Beta3","1.2.0.Beta2","1.2.0.Beta1","1.1.0.CR5","1.1.0.CR4","1.1.0.CR3","1.1.0.CR2"],"description":"Creates a new Camel example exposing a webservice to add or get Customers (backend is mocked in a bean)"},{"artifactId":"karaf-cxf-camel-cxf-code-first-archetype","groupId":"io.fabric8.archetypes","versions":["2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.0.40.1","2.0.33.1","2.0.28.1"],"description":"Creates a new Creates a web service using Java code first"},{"artifactId":"karaf-cxf-camel-cxf-contract-first-archetype","groupId":"io.fabric8.archetypes","versions":["2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.0.40.1","2.0.33.1","2.0.28.1"],"description":"Creates a new Creates a web service using the WSDL contract first"},{"artifactId":"karaf-cxf-rest-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102","2.2.101","2.2.100","2.2.99","2.2.98","2.2.97","2.2.96","2.2.95","2.2.94","2.2.93","2.2.92","2.2.91","2.2.90","2.2.89","2.2.88","2.2.87","2.2.86","2.2.85","2.2.84","2.2.83","2.2.82","2.2.81","2.2.80","2.2.79","2.2.78","2.2.77","2.2.76","2.2.75","2.2.74","2.2.73","2.2.72","2.2.71","2.2.70","2.2.69","2.2.68","2.2.67","2.2.66","2.2.65","2.2.64","2.2.63","2.2.62","2.2.61","2.2.60","2.2.59","2.2.58","2.2.57","2.2.56","2.2.55","2.2.54","2.2.53","2.2.52","2.2.51","2.2.50","2.2.49","2.2.48","2.2.47","2.2.46","2.2.44","2.2.43","2.2.42","2.2.41","2.2.40","2.2.37","2.2.34","2.2.32","2.2.31","2.2.28","2.2.27","2.2.19","2.2.18","2.2.17","2.2.16","2.2.14","2.2.12","2.2.11","2.2.10","2.2.7","2.2.5","2.2.3","2.2.2","2.2.1","2.2.0","2.1.11","2.1.10","2.1.9","2.1.6","2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.2.9.1","2.2.26.1","2.2.23.1","2.2.15.1","2.0.40.1","2.0.33.1","2.0.28.1"],"description":"Creates a new RESTful WebService Example using JAX-RS"},{"artifactId":"karaf-cxf-secure-rest-archetype","groupId":"io.fabric8.archetypes","versions":["2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.0.40.1","2.0.33.1","2.0.28.1"],"description":"Creates a new Secure Restful Web Services Example using JAX-RS Basic Authentication with Fabric8"},{"artifactId":"karaf-cxf-secure-soap-archetype","groupId":"io.fabric8.archetypes","versions":["2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.0.40.1","2.0.33.1","2.0.28.1"],"description":"Creates a new Secure SOAP example using JAXWS with WS-Security"},{"artifactId":"karaf-cxf-soap-archetype","groupId":"io.fabric8.archetypes","versions":["2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.0.40.1","2.0.33.1","2.0.28.1"],"description":"Creates a new SOAP example using JAXWS"},{"artifactId":"karaf-profiles-camel-twitter-archetype","groupId":"io.fabric8.archetypes","versions":["2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.0.40.1","2.0.33.1","2.0.28.1"],"description":"Creates a new Camel Twitter Example"},{"artifactId":"karaf-profiles-registry-archetype","groupId":"io.fabric8.archetypes","versions":["2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.0.40.1","2.0.33.1","2.0.28.1"],"description":"Creates a new Karaf Quickstart : Profiles :: Registry"},{"artifactId":"karaf-rest-archetype","groupId":"io.fabric8.archetypes","versions":["1.2.0.redhat-133","1.2.0.Beta4","1.2.0.Beta3","1.2.0.Beta2","1.2.0.Beta1","1.1.0.CR5","1.1.0.CR4","1.1.0.CR3","1.1.0.CR2"],"description":"Creates a new RESTful WebService Example using JAX-RS with JBoss Fuse"},{"artifactId":"karaf-secure-rest-archetype","groupId":"io.fabric8.archetypes","versions":["1.2.0.redhat-133","1.2.0.Beta4","1.2.0.Beta3","1.2.0.Beta2","1.2.0.Beta1","1.1.0.CR5","1.1.0.CR4","1.1.0.CR3","1.1.0.CR2"],"description":"Creates a new Secure Restful Web Services Example using JAX-RS Basic Authentication with Fabric8"},{"artifactId":"karaf-secure-soap-archetype","groupId":"io.fabric8.archetypes","versions":["1.2.0.redhat-133","1.2.0.Beta4","1.2.0.Beta3","1.2.0.Beta2","1.2.0.Beta1","1.1.0.CR5","1.1.0.CR4","1.1.0.CR3","1.1.0.CR2"],"description":"Creates a new Secure SOAP example using JAXWS with WS-Security"},{"artifactId":"karaf-soap-archetype","groupId":"io.fabric8.archetypes","versions":["1.2.0.redhat-133","1.2.0.Beta4","1.2.0.Beta3","1.2.0.Beta2","1.2.0.Beta1","1.1.0.CR5","1.1.0.CR4","1.1.0.CR3","1.1.0.CR2"],"description":"Creates a new SOAP example using JAXWS"},{"artifactId":"karaf2-camel-amq-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180"],"description":"Karaf 2 example running a Camel route connecting to ActiveMQ"},{"artifactId":"karaf2-camel-log-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180"],"description":"Karaf 2 example running a Camel route"},{"artifactId":"karaf4-camel-log-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.34","2.2.32","2.2.31","2.2.28","2.2.27","2.2.26.1","2.2.23.1"],"description":"Creates a new Karaf4 Camel Log Example"},{"artifactId":"node-example-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102","2.2.101","2.2.100","2.2.99","2.2.98","2.2.97","2.2.96","2.2.95","2.2.94"],"description":"Creates a new node example"},{"artifactId":"php-example-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159"],"description":"Creates a new php example"},{"artifactId":"rails-example-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102","2.2.101","2.2.100","2.2.99","2.2.98","2.2.97"],"description":"Creates a new rails example"},{"artifactId":"rest-archetype","groupId":"io.fabric8.archetypes","versions":["1.1.0.CR1","1.1.0.Beta6","1.1.0.Beta5","1.1.0.Beta4","1.1.0.Beta3","1.1.0.Beta2","1.1.0.Beta1"],"description":"Creates a new quickstart project using REST."},{"artifactId":"rest-web-archetype","groupId":"io.fabric8.archetypes","versions":["1.1.0.CR1"],"description":"Creates a new quickstart project using REST with a WAR."},{"artifactId":"secure-rest-archetype","groupId":"io.fabric8.archetypes","versions":["1.1.0.CR1","1.1.0.Beta6","1.1.0.Beta5","1.1.0.Beta4","1.1.0.Beta3","1.1.0.Beta2","1.1.0.Beta1"],"description":"Creates a new quickstart project using Secure REST."},{"artifactId":"secure-soap-archetype","groupId":"io.fabric8.archetypes","versions":["1.1.0.CR1","1.1.0.Beta6","1.1.0.Beta5","1.1.0.Beta4","1.1.0.Beta3","1.1.0.Beta2","1.1.0.Beta1"],"description":"Creates a new quickstart project using Secure SOAP."},{"artifactId":"soap-archetype","groupId":"io.fabric8.archetypes","versions":["1.1.0.CR1","1.1.0.Beta6","1.1.0.Beta5","1.1.0.Beta4","1.1.0.Beta3","1.1.0.Beta2","1.1.0.Beta1"],"description":"Creates a new quickstart project using SOAP."},{"artifactId":"spring-boot-activemq-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.34","2.2.32","2.2.31","2.2.28","2.2.27","2.2.19","2.2.18","2.2.17","2.2.16","2.2.14","2.2.12","2.2.11","2.2.10","2.2.7","2.2.5","2.2.3","2.2.2","2.2.1","2.2.0","2.1.11","2.1.10","2.1.9","2.1.6","2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.2.9.1","2.2.26.1","2.2.23.1","2.2.15.1","2.0.40.1","2.0.33.1","2.0.28.1"],"description":"Creates a new Shows how to use ActiveMQ with Spring Boot in the Java Container"},{"artifactId":"spring-boot-camel-amq-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134"],"description":"Spring Boot example running a Camel route connecting to ActiveMQ"},{"artifactId":"spring-boot-camel-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102","2.2.101","2.2.100","2.2.99","2.2.98","2.2.97","2.2.96","2.2.95","2.2.94","2.2.93","2.2.92","2.2.91","2.2.90","2.2.89","2.2.88","2.2.87","2.2.86","2.2.85","2.2.84","2.2.83","2.2.82","2.2.81","2.2.80","2.2.79","2.2.78","2.2.77","2.2.76","2.2.75","2.2.74","2.2.73","2.2.72","2.2.71","2.2.70","2.2.69","2.2.68","2.2.67","2.2.66","2.2.65","2.2.64","2.2.63","2.2.62","2.2.61","2.2.60","2.2.59","2.2.58","2.2.57","2.2.56","2.2.55","2.2.54","2.2.53","2.2.52","2.2.51","2.2.50","2.2.49","2.2.48","2.2.47","2.2.46","2.2.44","2.2.43","2.2.42","2.2.41","2.2.40","2.2.37","2.2.34","2.2.32","2.2.31","2.2.28","2.2.27","2.2.19","2.2.18","2.2.17","2.2.16","2.2.14","2.2.12","2.2.11","2.2.10","2.2.7","2.2.5","2.2.3","2.2.2","2.2.1","2.2.0","2.1.11","2.1.10","2.1.9","2.1.6","2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.2.9.1","2.2.26.1","2.2.23.1","2.2.15.1","2.0.40.1","2.0.33.1","2.0.28.1"],"description":"Spring Boot example running a Camel route"},{"artifactId":"spring-boot-camel-config-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193"],"description":"Creates a new Spring Boot example running a Camel route configured using Kubernetes ConfigMaps and Secrets"},{"artifactId":"spring-boot-camel-drools-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126"],"description":"Spring Boot example running a Camel route using a rules engine"},{"artifactId":"spring-boot-camel-infinispan-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169"],"description":"Spring Boot example running a Camel route using Infinispan"},{"artifactId":"spring-boot-camel-rest-sql-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166"],"description":"Spring Boot example running a Camel REST route connecting to a SQL database"},{"artifactId":"spring-boot-camel-teiid-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138"],"description":"Creates a new Camel and Teiid example with Spring Boot in the Java Container"},{"artifactId":"spring-boot-camel-xml-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127"],"description":"Spring Boot example running a Camel route defined in XML"},{"artifactId":"spring-boot-cxf-jaxrs-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180"],"description":"Spring Boot example running a CXF JAXRS Endpoint"},{"artifactId":"spring-boot-cxf-jaxws-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180"],"description":"Spring Boot example running a CXF JAXWS Endpoint"},{"artifactId":"spring-boot-hystrix-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105"],"description":"Creates a new Fabric8 :: Quickstarts :: Spring-Boot :: Hystrix"},{"artifactId":"spring-boot-keycloak-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.34","2.2.32","2.2.31","2.2.28","2.2.27","2.2.19","2.2.18","2.2.17","2.2.16","2.2.14","2.2.12","2.2.11","2.2.10","2.2.7","2.2.5","2.2.3","2.2.2","2.2.1","2.2.0","2.1.11","2.1.10","2.1.9","2.1.6","2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.2.9.1","2.2.26.1","2.2.23.1","2.2.15.1","2.0.40.1","2.0.33.1","2.0.28.1"],"description":"Creates a new Shows how to use Spring Boot with Keycloak"},{"artifactId":"spring-boot-ribbon-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102"],"description":"Creates a new Fabric8 :: Quickstarts :: Spring-Boot :: Ribbon"},{"artifactId":"spring-boot-webmvc-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102","2.2.101","2.2.100","2.2.99","2.2.98","2.2.97","2.2.96","2.2.95","2.2.94","2.2.93","2.2.92","2.2.91","2.2.90","2.2.89","2.2.88","2.2.87","2.2.86","2.2.85","2.2.84","2.2.83","2.2.82","2.2.81","2.2.80","2.2.79","2.2.78","2.2.77","2.2.76","2.2.75","2.2.74","2.2.73","2.2.72","2.2.71","2.2.70","2.2.69","2.2.68","2.2.67","2.2.66","2.2.65","2.2.64","2.2.63","2.2.62","2.2.61","2.2.60","2.2.59","2.2.58","2.2.57","2.2.56","2.2.55","2.2.54","2.2.53","2.2.52","2.2.51","2.2.50","2.2.49","2.2.48","2.2.47","2.2.46","2.2.44","2.2.43","2.2.42","2.2.41","2.2.40","2.2.37","2.2.34","2.2.32","2.2.31","2.2.28","2.2.27","2.2.19","2.2.18","2.2.17","2.2.16","2.2.14","2.2.12","2.2.11","2.2.10","2.2.7","2.2.5","2.2.3","2.2.2","2.2.1","2.2.0","2.1.11","2.1.10","2.1.9","2.1.6","2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.2.9.1","2.2.26.1","2.2.23.1","2.2.15.1","2.0.40.1","2.0.33.1","2.0.28.1","1.1.0.CR1"],"description":"Creates a new Spring Boot WebMVC example"},{"artifactId":"spring-boot-webmvc-ip-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.34","2.2.32","2.2.31","2.2.28","2.2.27","2.2.19","2.2.18","2.2.17","2.2.16","2.2.14","2.2.12","2.2.11","2.2.10","2.2.7","2.2.5","2.2.3","2.2.2","2.2.1","2.2.0","2.1.11","2.1.10","2.1.9","2.1.6","2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.2.9.1","2.2.26.1","2.2.23.1","2.2.15.1","2.0.40.1","2.0.33.1","2.0.28.1"],"description":"Creates a new Returns IP address to show service load-balancing"},{"artifactId":"spring-camel-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.100","2.2.99","2.2.98","2.2.97","2.2.96","2.2.95","2.2.94","2.2.93","2.2.92","2.2.91","2.2.90"],"description":"Creates a new Camel route using Spring XML in a standalone Java container"},{"artifactId":"springboot-activemq-archetype","groupId":"io.fabric8.archetypes","versions":["1.2.0.Beta4","1.2.0.Beta3","1.2.0.Beta2","1.2.0.Beta1","1.1.0.CR5","1.1.0.CR4","1.1.0.CR3","1.1.0.CR2"],"description":"Creates a new Spring Boot application with ActiveMQ"},{"artifactId":"springboot-camel-archetype","groupId":"io.fabric8.archetypes","versions":["1.2.0.Beta4","1.2.0.Beta3","1.2.0.Beta2","1.2.0.Beta1","1.1.0.CR5","1.1.0.CR4","1.1.0.CR3","1.1.0.CR2"],"description":"Creates a new Spring Boot application with Camel"},{"artifactId":"springboot-webmvc-archetype","groupId":"io.fabric8.archetypes","versions":["1.2.0.Beta4","1.2.0.Beta3","1.2.0.Beta2","1.2.0.Beta1","1.1.0.CR5","1.1.0.CR4","1.1.0.CR3","1.1.0.CR2"],"description":"Creates a new Spring Boot application using Spring WebMVC"},{"artifactId":"swarm-camel-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.149","2.2.148","2.2.145"],"description":"Creates a new Camel REST Service running in a standalone Java Swarm Container"},{"artifactId":"swarm-camel-rest-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.140","2.2.138"],"description":"Creates a new Camel REST Service running in a standalone Java Swarm Container"},{"artifactId":"swift-example-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187","2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102","2.2.101","2.2.100","2.2.99","2.2.98","2.2.97","2.2.96","2.2.95","2.2.94"],"description":"Creates a new swift example"},{"artifactId":"vertx-simple-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.185","2.2.184","2.2.182","2.2.181","2.2.180","2.2.179","2.2.177","2.2.176","2.2.175","2.2.174","2.2.173","2.2.172","2.2.171","2.2.170","2.2.169","2.2.168","2.2.167","2.2.166","2.2.164","2.2.163","2.2.162","2.2.161","2.2.160","2.2.159"],"description":"Creates a new Simple embedded vert.x fatjar"},{"artifactId":"vertx-simplest-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102","2.2.101","2.2.100","2.2.99","2.2.98","2.2.97","2.2.96","2.2.95","2.2.94","2.2.93","2.2.92","2.2.91","2.2.90"],"description":"Creates a new Simple embedded vert.x fatjar"},{"artifactId":"vertx-web-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.197","2.2.196","2.2.195","2.2.194","2.2.193","2.2.192","2.2.191","2.2.190","2.2.189","2.2.187"],"description":"Creates a new Simple embedded vert.x fatjar"},{"artifactId":"war-camel-servlet-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102","2.2.101","2.2.100","2.2.99","2.2.98","2.2.97","2.2.96","2.2.95","2.2.94","2.2.93","2.2.92","2.2.91","2.2.90","2.2.89","2.2.88","2.2.87","2.2.86","2.2.85","2.2.84","2.2.83","2.2.82","2.2.81","2.2.80","2.2.79","2.2.78","2.2.77","2.2.76","2.2.75","2.2.74","2.2.73","2.2.72","2.2.71","2.2.70","2.2.69","2.2.68","2.2.67","2.2.66","2.2.65","2.2.64","2.2.63","2.2.62","2.2.61","2.2.60","2.2.59","2.2.58","2.2.57","2.2.56","2.2.55","2.2.54","2.2.53","2.2.52","2.2.51","2.2.50","2.2.49","2.2.48","2.2.47","2.2.46","2.2.44","2.2.43","2.2.42","2.2.41","2.2.40","2.2.37","2.2.34","2.2.32","2.2.31","2.2.28","2.2.27","2.2.19","2.2.18","2.2.17","2.2.16","2.2.14","2.2.12","2.2.11","2.2.10","2.2.7","2.2.5","2.2.3","2.2.2","2.2.1","2.2.0","2.1.11","2.1.10","2.1.9","2.1.6","2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.2.9.1","2.2.26.1","2.2.23.1","2.2.15.1","2.0.40.1","2.0.33.1","2.0.28.1","1.2.0.Beta4","1.2.0.Beta3","1.2.0.Beta2","1.2.0.Beta1","1.1.0.CR5","1.1.0.CR4","1.1.0.CR3","1.1.0.CR2"],"description":"Creates a new Camel route using Servlet deployed as WAR"},{"artifactId":"war-cxf-cdi-servlet-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102","2.2.101","2.2.100","2.2.99","2.2.98","2.2.97","2.2.96","2.2.95","2.2.94","2.2.93","2.2.92","2.2.91","2.2.90","2.2.89","2.2.88","2.2.87","2.2.86","2.2.85","2.2.84","2.2.83","2.2.82","2.2.81","2.2.80","2.2.79","2.2.78","2.2.77","2.2.76","2.2.75","2.2.74","2.2.73","2.2.72","2.2.71","2.2.70","2.2.69","2.2.68","2.2.67","2.2.66","2.2.65","2.2.64","2.2.63","2.2.62","2.2.61","2.2.60","2.2.59","2.2.58","2.2.57","2.2.56","2.2.55","2.2.54","2.2.53","2.2.52","2.2.51","2.2.50","2.2.49","2.2.48","2.2.47","2.2.46","2.2.44","2.2.43","2.2.42","2.2.41","2.2.40","2.2.37","2.2.34","2.2.32","2.2.31","2.2.28","2.2.27","2.2.19","2.2.18","2.2.17","2.2.16","2.2.14","2.2.12","2.2.11","2.2.10","2.2.7","2.2.5","2.2.3","2.2.2","2.2.1","2.2.0","2.1.11","2.1.10","2.1.9","2.1.6","2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.2.9.1","2.2.26.1","2.2.23.1","2.2.15.1","2.0.40.1","2.0.33.1","2.0.28.1"],"description":"Creates a new CXF JAX-RS using CDI deployed as WAR"},{"artifactId":"war-rest-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.34","2.2.32","2.2.31","2.2.28","2.2.27","2.2.19","2.2.18","2.2.17","2.2.16","2.2.14","2.2.12","2.2.11","2.2.10","2.2.7","2.2.5","2.2.3","2.2.2","2.2.1","2.2.0","2.1.11","2.1.10","2.1.9","2.1.6","2.1.1","2.0.47","2.0.46","2.0.44","2.0.43","2.0.42","2.0.41","2.0.40","2.0.39","2.0.38","2.0.37","2.0.36","2.0.35","2.0.34","2.0.33","2.0.32","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.2.9.1","2.2.26.1","2.2.23.1","2.2.15.1","2.0.40.1","2.0.33.1","2.0.28.1","1.2.0.Beta4","1.2.0.Beta3","1.2.0.Beta2","1.2.0.Beta1","1.1.0.CR5","1.1.0.CR4","1.1.0.CR3","1.1.0.CR2"],"description":"Creates a new RESTful WebService Example using JAX-RS in a WAR"},{"artifactId":"war-wildfly-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134","2.2.133","2.2.132","2.2.131","2.2.130","2.2.127","2.2.126","2.2.125","2.2.123","2.2.114","2.2.113","2.2.112","2.2.109","2.2.106","2.2.105","2.2.104","2.2.103","2.2.102","2.2.101","2.2.100","2.2.99","2.2.98","2.2.97","2.2.96","2.2.95","2.2.94","2.2.93","2.2.92","2.2.91","2.2.90","2.2.89","2.2.88","2.2.87","2.2.86","2.2.85","2.2.84","2.2.83","2.2.82","2.2.81","2.2.80","2.2.79","2.2.78","2.2.77","2.2.76","2.2.75","2.2.74","2.2.73","2.2.72","2.2.71","2.2.70","2.2.69","2.2.68","2.2.67","2.2.66","2.2.65","2.2.64","2.2.63","2.2.62","2.2.61","2.2.60","2.2.59","2.2.58","2.2.57","2.2.56","2.2.55","2.2.54","2.2.53","2.2.52","2.2.51","2.2.50","2.2.49","2.2.48","2.2.47","2.2.46","2.2.44","2.2.43","2.2.42","2.2.41","2.2.40","2.2.37","2.2.34","2.2.32","2.2.31","2.2.28","2.2.27","2.2.26.1","2.2.23.1"],"description":"Creates a new Simple Wildfly Application deployed as war"},{"artifactId":"wildfly-camel-cdi-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134"],"description":"Creates a new Simple CDI application deployed on Wildfly-Camel"},{"artifactId":"wildfly-camel-ejb-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134"],"description":"Creates a new Simple EJB application deployed on Wildfly-Camel"},{"artifactId":"wildfly-camel-jaxrs-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134"],"description":"Creates a new Simple JAXRS application deployed on Wildfly-Camel"},{"artifactId":"wildfly-camel-jaxws-archetype","groupId":"io.fabric8.archetypes","versions":["2.2.161","2.2.160","2.2.159","2.2.152","2.2.151","2.2.149","2.2.148","2.2.145","2.2.144","2.2.142","2.2.141","2.2.140","2.2.138","2.2.136","2.2.135","2.2.134"],"description":"Creates a new Simple JAXWS application deployed on Wildfly-Camel"},{"artifactId":"camel-connector-archetype","groupId":"io.fabric8.django","versions":["2.3.14","2.3.13","2.3.12","2.3.10","2.3.9","2.3.8","2.3.7","2.3.6","2.3.5","2.3.4","2.3.3","2.3.2","2.3.1"],"description":"Creates a new Camel Connector"},{"artifactId":"featureflow-tutorial","groupId":"io.featureflow","versions":["1.0.1","0.0.1"],"description":"A quickstart archtype for the in app featureflow java tutorial"},{"artifactId":"flexio-services-archetype","groupId":"io.flexio.commons","versions":["1.8.0","1.7.0","1.6.0","1.5.0","1.4.0","1.1.0"]},{"artifactId":"gatling-highcharts-maven-archetype","groupId":"io.gatling.highcharts","versions":["3.6.1","3.6.0","3.5.1","3.5.0","3.4.2","3.4.1","3.4.0","3.3.1","3.3.0","3.2.1","3.2.0","3.1.3","3.1.2","3.1.1","3.0.3","3.0.2","3.0.1","3.0.0","3.0.0-RC4","3.0.0-RC3","3.0.0-RC2","3.0.0-RC1","2.3.1","2.3.0","2.2.5","2.2.4","2.2.1","2.2.0","2.2.0-M2","2.1.7","2.1.6","2.1.5","2.1.2","2.1.1","2.1.0","2.0.0","2.0.0-RC6","2.0.0-RC5","2.0.0-RC4","2.0.0-RC3","2.0.0-RC2","2.0.0-RC1"],"description":"gatling-highcharts-maven-archetype"},{"artifactId":"archetype","groupId":"io.github.Riduidel.aadarchi","versions":["0.1.9","0.1.8","0.1.6","0.1.5","0.1.4","0.1.3","0.1.2","0.1.1"],"description":"Easily create configuration to document your project with this archetype"},{"artifactId":"archetype","groupId":"io.github.Riduidel.agile-architecture-documentation-system","versions":["0.1.0","0.0.11","0.0.10","0.0.8"],"description":"Easily create configuration to document your project with this archetype"},{"artifactId":"slnarch-web-gauge-archetype","groupId":"io.github.aktoluna","versions":["BETA-1.5.8.1","BETA-1.5.6","BETA-1.5.5","BETA-1-5-6"]},{"artifactId":"maven-archetype-apigee-proxy","groupId":"io.github.bhatikuldeep","versions":["1.3","1.2","1.1","1.0"],"description":"An archetype to generate a sample Apigee Edge API Proxy."},{"artifactId":"archetype","groupId":"io.github.chenxuancode","versions":["1.0.0-Release"],"description":"springboot base create"},{"artifactId":"paco-archetype","groupId":"io.github.christian-draeger","versions":["1.0.0"],"description":"A Paco test project template including some basic example tests."},{"artifactId":"osiris-archetype","groupId":"io.github.cjkent.osiris","versions":["0.8.0","0.7.1","0.7.0","0.6.1","0.6.0","0.5.0","0.4.0","0.3.0","0.2.0","0.1.0"],"description":"Maven Archetype for Osiris"},{"artifactId":"tdp2023-javafx-archetype","groupId":"io.github.cmas1","versions":["1.0.1","1.0.0"],"description":"Maven archetype to create JavaFX applications with Java 17. Use for educational purposes only."},{"artifactId":"archetype-modern-starter","groupId":"io.github.coder168","versions":["1.0.0"],"description":"a modern Java standalone application template"},{"artifactId":"cs1302-archetype-quickstart","groupId":"io.github.cs1302uga","versions":["0.3.65","0.3.64","0.3.63","0.3.62","0.3.61","0.3.58","0.3.55","0.3.54","0.3.53","0.3.52","0.3.51","0.3.50","0.3.49","0.3.48","0.3.47","0.3.46","0.3.45","0.3.44","0.3.43","0.3.42","0.3.41","0.3.40","0.3.39","0.3.38","0.3.37","0.3.36","0.3.35","0.3.34","0.3.32","0.3.31","0.3.30","0.3.10","0.3.9","0.3.8","0.3.7","0.3.4","0.3.3","0.2.1","0.1.118","0.1.115","0.1.114","0.1.113","0.1.109","0.1.102","0.1.101","0.1.100","0.1.99","0.1.95","0.1.94","0.1.93"],"description":"Provides an archetype for a simple Maven project."},{"artifactId":"java11-jsf-primefaces-archetype","groupId":"io.github.datenmuehle","versions":["1.0"],"description":"This archetype creates a project to use JSF with java 11 with primefaces."},{"artifactId":"airline-archetype","groupId":"io.github.davidwhitlock.cs410J","versions":["2023.0.0","2022.3.0","2022.2.0","2022.1.0","2022.0.0","2021.3.0","2021.2.0","2021.1.1","2021.1.0","2021.0.0"]},{"artifactId":"airline-web-archetype","groupId":"io.github.davidwhitlock.cs410J","versions":["2023.0.0","2022.2.0","2022.1.0","2022.0.0","2021.3.0","2021.2.0","2021.1.1","2021.1.0","2021.0.0"]},{"artifactId":"apptbook-archetype","groupId":"io.github.davidwhitlock.cs410J","versions":["2023.0.0","2022.2.0","2022.1.0","2022.0.0","2021.3.1","2021.3.0","2021.2.0","2021.1.1","2021.1.0","2021.0.0"]},{"artifactId":"apptbook-web-archetype","groupId":"io.github.davidwhitlock.cs410J","versions":["2023.0.0","2022.2.0","2022.1.0","2022.0.0","2021.3.0","2021.2.0","2021.1.1","2021.1.0","2021.0.0"]},{"artifactId":"java-koans-archetype","groupId":"io.github.davidwhitlock.cs410J","versions":["2023.0.0","2022.2.0","2022.1.0","2022.0.0","2021.4.0","2021.3.0","2021.2.0","2021.1.2","2021.1.1","2021.1.0","2021.0.1","2021.0.0"]},{"artifactId":"kata-archetype","groupId":"io.github.davidwhitlock.cs410J","versions":["2023.0.0","2022.2.0","2022.1.0","2022.0.0","2021.3.0","2021.2.0","2021.1.1","2021.1.0","2021.0.0"],"description":"A simple project for getting started with code katas"},{"artifactId":"phonebill-archetype","groupId":"io.github.davidwhitlock.cs410J","versions":["2023.0.0","2022.2.0","2022.1.0","2022.0.0","2021.3.0","2021.2.0","2021.1.1","2021.1.0","2021.0.0"]},{"artifactId":"phonebill-web-archetype","groupId":"io.github.davidwhitlock.cs410J","versions":["2023.0.0","2022.2.0","2022.1.0","2022.0.0","2021.3.0","2021.2.0","2021.1.1","2021.1.0","2021.0.0"]},{"artifactId":"student-archetype","groupId":"io.github.davidwhitlock.cs410J","versions":["2023.0.0","2022.2.0","2022.1.0","2022.0.0","2021.3.1","2021.3.0","2021.2.1","2021.2.0","2021.1.1","2021.1.0","2021.0.0"],"description":"A simple Student program to get you started with Java"},{"artifactId":"dddplus-archetype","groupId":"io.github.dddplus","versions":["1.1.0","1.0.3","1.0.2","1.0.1"],"description":"A Maven Archetype for generating a DDDplus Framework enabled project"},{"artifactId":"jpa-hibernate-playground","groupId":"io.github.dennysfredericci","versions":["1.0.0"],"description":"An archetype which contains standalone project to have fun with Hibernate, JPA and H2 database."},{"artifactId":"flink-project-generator","groupId":"io.github.devlibx.tools.java.maven","versions":["0.0.52","0.0.51","0.0.50","0.0.49","0.0.48","0.0.47","0.0.46","0.0.45","0.0.44","0.0.43","0.0.42","0.0.41","0.0.40","0.0.39","0.0.38","0.0.37","0.0.36","0.0.35","0.0.34","0.0.33","0.0.32","0.0.31","0.0.30","0.0.29","0.0.28","0.0.27","0.0.26","0.0.25","0.0.24","0.0.23","0.0.22","0.0.21","0.0.20","0.0.19","0.0.18","0.0.17","0.0.16","0.0.15","0.0.14","0.0.13","0.0.12","0.0.11","0.0.10","0.0.9","0.0.8","0.0.7","0.0.6","0.0.5","0.0.4","0.0.3","0.0.2","0.0.1"],"description":"This will allow you to create a basic project with flink java projects"},{"artifactId":"project-generator","groupId":"io.github.devlibx.tools.java.maven","versions":["2.0.7","2.0.6","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","2.0.9.java19","2.0.8.java19","2.0.7.java19","2.0.13.java19","2.0.12.java19","2.0.11.java19","2.0.10.java19"],"description":"This will allow you to create a basic project with java modules"},{"artifactId":"easy-rules-archetype","groupId":"io.github.dvgaba","versions":["1.0.7","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0","0.0.2","0.0.1"],"description":"Maven archetype to create a skeleton project"},{"artifactId":"scoa-archetype","groupId":"io.github.egd-prodigal","versions":["1.0"],"description":"scoa 架构骨架项目"},{"artifactId":"archetype-default-pom","groupId":"io.github.fastcube.factory.tibco","versions":["1.0.0"],"description":"This archetype will create an independent POM with default properties\n\t\trequired by the FC TIBCO Factory plugins."},{"artifactId":"archetype-default-workspace","groupId":"io.github.fastcube.factory.tibco","versions":["1.0.0"],"description":"This archetype creates the default workspace (with BusinessWorks projects, Java projects & delivery project)."},{"artifactId":"archetype-bw-default-project","groupId":"io.github.fastcube.factory.tibco.bw.maven","versions":["1.0.0"],"description":"This archetype creates an empty TIBCO BusinessWorks project."},{"artifactId":"archetype-bw-default-projlib","groupId":"io.github.fastcube.factory.tibco.bw.maven","versions":["1.0.0"],"description":"This archetype creates an empty TIBCO BusinessWorks Projlib project."},{"artifactId":"archetype-bw-mavenizer","groupId":"io.github.fastcube.factory.tibco.bw.maven","versions":["1.0.0"],"description":"This archetype will create a POM that inherits from FC TIBCO Factory\n\t\tparent POM *OR* from the client's root POM created with\n\t\t'archetype-client-root-project' archetype.\n\n\t\tThis POM will be the Maven configuration for the existing TIBCO BW\n\t\tproject.\n\t\t\n\t\t1) you want to use the default FC TIBCO Factory parent, then replace the\n\t\t'rootProjectGroupId', 'rootProjectArtifactId' & 'rootProjectVersion'\n\t\tby the content of 'fcFactoryGroupId', 'fcFactoryArtifactId' &\n\t\t'fcFactoryVersion' respectively.\n\t\t\n\t\t2) you want to use your own parent created with\n\t\t'archetype-client-root-project', then replace 'rootProjectGroupId',\n\t\t'rootProjectArtifactId' & 'rootProjectVersion' by the values of your\n\t\town parent (ex: 'com.company.project', 'project-root', '1.0.0')."},{"artifactId":"micronaut-service","groupId":"io.github.gasches.archetypes","versions":["1.0.4"],"description":"Micronaut service app archetype"},{"artifactId":"maven-archetype-jakartaee9","groupId":"io.github.hantsy","versions":["1.2","1.1","1.0"],"description":"Archetype - Maven archetype for Jakarta EE 9"},{"artifactId":"project-generator","groupId":"io.github.harishb2k.tools.java.maven","versions":["1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4"],"description":"This will allow you to create a basic project with java modules"},{"artifactId":"hexagonal-reactive","groupId":"io.github.jorgerojasdev","versions":["0.0.1"],"description":"hexagonal-reactive"},{"artifactId":"jsoagger-fullstack-archetype","groupId":"io.github.jsoagger","versions":["1.0.1","1.0.0"],"description":"JSoagger Quick Start"},{"artifactId":"webapp-jakartaee10","groupId":"io.github.juneau001","versions":["1.0.1","1.0.0"],"description":"Jakarta EE 10 Maven Archetype"},{"artifactId":"webapp-jakartaee8","groupId":"io.github.juneau001","versions":["1.0.0"],"description":"Jakarta EE 8 Maven Archetype"},{"artifactId":"webapp-jakartaee9","groupId":"io.github.juneau001","versions":["1.1","1.0"],"description":"Jakarta EE 9 Maven Archetype"},{"artifactId":"webapp-jakartaee91","groupId":"io.github.juneau001","versions":["1.1.0","1.0.0"],"description":"Jakarta EE 9.1 Maven Archetype"},{"artifactId":"webapp-javaee8","groupId":"io.github.juneau001","versions":["1.3","1.2","1.1","1.0.0"],"description":"Java EE 8 Maven Archetype"},{"artifactId":"archetype-migrate","groupId":"io.github.karanshah-browserstack","versions":["1.1","1.0"],"description":"Archetype for Migrating Cucumber CLI tests to TestNG"},{"artifactId":"browserstack-cucumber-archetype","groupId":"io.github.karanshah-browserstack","versions":["1.2","1.1"],"description":"BrowserStack Archetype for Cucumber TestNG"},{"artifactId":"kaushik-project-archetype","groupId":"io.github.kdatta21","versions":["1.0.4","1.0.3","1.0.1","1.0.0"],"description":"AEM multi-module custom archetype."},{"artifactId":"scaffold-archetype","groupId":"io.github.kgress.scaffold","versions":["2.0.0"],"description":"A quick start configuration for creating new Scaffold Projects"},{"artifactId":"scaffold-archetype","groupId":"io.github.kgress.scaffold-archetype","versions":["2.1.1","2.1.0","2.0.0","1.2.1","1.2.0","1.1.1","1.1.0","1.0.1","1.0.0"],"description":"A quick start configuration for creating new Scaffold Projects"},{"artifactId":"hs-kleinanzeigen-archetype","groupId":"io.github.leichtundkross","versions":["1.0.10","1.0.9","1.0.8","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1"],"description":"Archetype zum Erstellen einer minimalen Anwendung für HS Kleinanzeigen"},{"artifactId":"archetype-java-junit","groupId":"io.github.manedev79","versions":["1.0.4","1.0.3","1.0.2","1.0.1","1.0.0","1.0.0-RC3","1.0.0-RC1"],"description":"Maven archetype with recent java version, JUnit5, assertj and git repository in place."},{"artifactId":"mind-boot-archetype","groupId":"io.github.mind-boot","versions":["1.0.1","1.0.0","1.0.0-RELEASE"],"description":"mind-boot maven archetype"},{"artifactId":"graphwalker-maven-archetype","groupId":"io.github.neofreko","versions":["4.3.3-100","4.3.1.100"]},{"artifactId":"parent-archetype","groupId":"io.github.newur","versions":["0.7","0.6"],"description":"A semi-simple Java 11 template with google jib for some extra fun."},{"artifactId":"java-archetype","groupId":"io.github.oliviercailloux","versions":["0.0.10","0.0.9","0.0.8","0.0.7","0.0.6"],"description":"A maven archetype with reasonable defaults for starting Java projects."},{"artifactId":"java-se-1.8-archetype","groupId":"io.github.oliviercailloux","versions":["0.0.5","0.0.4","0.0.3","0.0.2","0.0.1"],"description":"A maven archetype for starting Java SE 8 projects."},{"artifactId":"mercury-sd-archetype","groupId":"io.github.open-accelerators","versions":["1.0.2"]},{"artifactId":"doraemon-project-archetype","groupId":"io.github.qianxingchuan.framework","versions":["0.1-RELEASE"],"description":"A light-weight,java based classloader isolation framework."},{"artifactId":"spring-boot-quickstart-archetype","groupId":"io.github.raineye","versions":["1.0.0"],"description":"spring-boot项目模板"},{"artifactId":"spring-boot-quickstart-archetype","groupId":"io.github.raineye.archetypes","versions":["1.1.1","1.1.0","1.0.0"],"description":"spring-boot项目模板"},{"artifactId":"skipper","groupId":"io.github.rgamba","versions":["0.0.1"],"description":"skipper is a lightweight library for stateful workflow management"},{"artifactId":"awakelab-archetype-springmvc","groupId":"io.github.rhacs","versions":["1.0.4"],"description":"Arquetipo SpringMVC con implementaciones basicas (Spring Framework v5.2.7, Java Servlet API v4.0.1, JSP API v2.3.3, JSTL v1.2, JUnit v5.6.2)"},{"artifactId":"awakelab-archetypes-springmvc","groupId":"io.github.rhacs","versions":["1.0.6"],"description":"Arquetipo para proyectos bajo Spring MVC con implementaciones basicas (Incluye: Spring Framework v5.2.7, Java Servlet API v4.0.1, JSP API v2.3.3, JSTL v1.2, JUnit v5.6.2)"},{"artifactId":"awakelab-archetypes-springmvc-jdbc","groupId":"io.github.rhacs","versions":["1.0.1"],"description":"Arquetipo para la creación de proyectos bajo Spring Framework MVC y JDBC Template con implementaciones básicas. Incluye: Spring Framework 5.2.8.RELEASE, Java Servlet API 4.0.1, JSP API 2.3.3, JSTL API 1.2, JUnit 5.6.2"},{"artifactId":"awakelab-archetypes-springmvc-jpa","groupId":"io.github.rhacs","versions":["1.0.10","1.0.9","1.0.8","1.0.7","1.0.6"],"description":"Arquetipo para la creación de proyectos bajo Spring Framework MVC y Java Persistence API (JPA) con implementaciones básicas. Incluye: Spring Framework 5.2.8.RELEASE, Spring Data 2.3.3.RELEASE, Hibernate 5.4.20.FINAL, Java Servlet API 4.0.1, JSP API 2.3.3, JSTL API 1.2, JUnit 5.6.2"},{"artifactId":"java-project","groupId":"io.github.richpurba","versions":["1.0.4","1.0.3","1.0.2","1.0.1"],"description":"Archetype for a simple template for Java Project"},{"artifactId":"spring-boot-java-basic-archetype","groupId":"io.github.sivalabs.maven.archetypes","versions":["0.0.2","0.0.1"],"description":"SpringBoot Maven Archetype for Java REST API"},{"artifactId":"spring-boot-java-rest-api-archetype","groupId":"io.github.sivalabs.maven.archetypes","versions":["0.0.2","0.0.1"],"description":"SpringBoot Maven Archetype for Java REST API"},{"artifactId":"spring-boot-java-rest-api-secure-archetype","groupId":"io.github.sivalabs.maven.archetypes","versions":["0.0.2","0.0.1"],"description":"SpringBoot Maven Archetype for Java REST API with JWT Security"},{"artifactId":"spring-boot-kotlin-basic-archetype","groupId":"io.github.sivalabs.maven.archetypes","versions":["0.0.2"],"description":"SpringBoot Maven Archetype for Kotlin REST API"},{"artifactId":"spring-boot-kotlin-rest-api-archetype","groupId":"io.github.sivalabs.maven.archetypes","versions":["0.0.2"],"description":"SpringBoot Maven Archetype for Kotlin REST API"},{"artifactId":"gwt-modular-springboot-webapp","groupId":"io.github.sogis.archetype","versions":["0.0.1"],"description":"The GWT WebAppCreator's sample, modularized."},{"artifactId":"java11-basic-archetype","groupId":"io.github.spenceuk","versions":["1.1","1.0"],"description":"Java 11 project archetype with: Junit5, AssertJ, Mockito, Checkstyle and License Headers"},{"artifactId":"daily-report-system-archetype","groupId":"io.github.techacademy-curricula","versions":["1.1","1.0"],"description":"An archetype which contains a sample daily_report_system Webapp project."},{"artifactId":"r6-generator-maven-archetype","groupId":"io.github.terminological","versions":["0.5.6","0.5.5","0.5.4","0.5.3","0.5.2","0.5.1","0.5.0","0.4.1","0.4.0","0.3.1","0.3.0"],"description":"An archteype for rapid setup of r6-generator projects in the recommended configuration"},{"artifactId":"spigot-archetype","groupId":"io.github.xsyntos","versions":["1.4","1.3","1.2","1.1","1"]},{"artifactId":"gravitee-policy-maven-archetype","groupId":"io.gravitee.maven.archetypes","versions":["1.10.1","1.10.0","1.9.0","1.8.0","1.2.0","1.1.0","1.0.0"],"description":"The Gravitee Policy Maven archetype"},{"artifactId":"gravitee-resource-maven-archetype","groupId":"io.gravitee.maven.archetypes","versions":["1.0.0"],"description":"The Gravitee Resource Maven archetype"},{"artifactId":"gravitee-service-maven-archetype","groupId":"io.gravitee.maven.archetypes","versions":["1.0.0"],"description":"The Gravitee Service Maven archetype"},{"artifactId":"gumga-archetype","groupId":"io.gumga","versions":["2.3.0","2.1.0","2.0.0","1.13.0","1.12.0","1.11.0","1.9.0","1.8.0","1.7.0","1.6.0","1.5.17","1.5.16","1.5.15","1.5.14","1.5.13","1.5.12","1.5.11","1.5.9","1.5.8","1.5.7","1.5.6","1.5.5","1.5.4","1.5.3","1.5.2","1.5.1","1.5.0","1.3.2","1.3.1","1.3.0"],"description":"Project archetype for GUMGA"},{"artifactId":"samplebot-archetype","groupId":"io.gupshup.maven","versions":["1.0.2","1.0.1","1.0.0"],"description":"The archetype project to generate Gupshup Bot projects"},{"artifactId":"helidon","groupId":"io.helidon.archetypes","versions":["3.0.0-M2","3.0.0-M1"]},{"artifactId":"helidon-bare-mp","groupId":"io.helidon.archetypes","versions":["4.0.0-ALPHA5","4.0.0-ALPHA4","4.0.0-ALPHA3","4.0.0-ALPHA2","4.0.0-ALPHA1","3.1.2","3.1.1","3.1.0","3.0.2","3.0.1","3.0.0","3.0.0-RC2","3.0.0-RC1","3.0.0-M2","3.0.0-M1","2.5.6","2.5.5","2.5.4","2.5.3","2.5.2","2.5.1","2.5.0","2.4.2","2.4.1","2.4.0","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0","2.2.2","2.2.1","2.2.0","2.1.0","2.0.2","2.0.1","2.0.0","2.0.0-RC2","2.0.0-RC1","2.0.0-M4"]},{"artifactId":"helidon-bare-se","groupId":"io.helidon.archetypes","versions":["4.0.0-ALPHA5","4.0.0-ALPHA4","4.0.0-ALPHA3","4.0.0-ALPHA2","4.0.0-ALPHA1","3.1.2","3.1.1","3.1.0","3.0.2","3.0.1","3.0.0","3.0.0-RC2","3.0.0-RC1","3.0.0-M2","3.0.0-M1","2.5.6","2.5.5","2.5.4","2.5.3","2.5.2","2.5.1","2.5.0","2.4.2","2.4.1","2.4.0","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0","2.2.2","2.2.1","2.2.0","2.1.0","2.0.2","2.0.1","2.0.0","2.0.0-RC2","2.0.0-RC1","2.0.0-M4"]},{"artifactId":"helidon-database-mp","groupId":"io.helidon.archetypes","versions":["4.0.0-ALPHA5","4.0.0-ALPHA4","4.0.0-ALPHA3","4.0.0-ALPHA2","4.0.0-ALPHA1","3.1.2","3.1.1","3.1.0","3.0.2","3.0.1","3.0.0","3.0.0-RC2","3.0.0-RC1","3.0.0-M2","3.0.0-M1","2.5.6","2.5.5","2.5.4","2.5.3","2.5.2","2.5.1","2.5.0","2.4.2","2.4.1","2.4.0","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0","2.2.2","2.2.1","2.2.0","2.1.0","2.0.2","2.0.1","2.0.0","2.0.0-RC2"]},{"artifactId":"helidon-database-se","groupId":"io.helidon.archetypes","versions":["4.0.0-ALPHA5","4.0.0-ALPHA4","4.0.0-ALPHA3","4.0.0-ALPHA2","4.0.0-ALPHA1","3.1.2","3.1.1","3.1.0","3.0.2","3.0.1","3.0.0","3.0.0-RC2","3.0.0-RC1","3.0.0-M2","3.0.0-M1","2.5.6","2.5.5","2.5.4","2.5.3","2.5.2","2.5.1","2.5.0","2.4.2","2.4.1","2.4.0","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0","2.2.2","2.2.1","2.2.0","2.1.0","2.0.2","2.0.1","2.0.0","2.0.0-RC2"]},{"artifactId":"helidon-mp","groupId":"io.helidon.archetypes","versions":["2.0.0-M3","2.0.0-M2","2.0.0-M1","1.4.12","1.4.11","1.4.10","1.4.9","1.4.8","1.4.7","1.4.6","1.4.5","1.4.4","1.4.3","1.4.2","1.4.1","1.4.0","1.3.1","1.3.0"],"description":"Archetype to generate a basic Helidon MP application"},{"artifactId":"helidon-oci-mp","groupId":"io.helidon.archetypes","versions":["2.5.6","2.5.5"]},{"artifactId":"helidon-quickstart-mp","groupId":"io.helidon.archetypes","versions":["4.0.0-ALPHA5","4.0.0-ALPHA4","4.0.0-ALPHA3","4.0.0-ALPHA2","4.0.0-ALPHA1","3.1.2","3.1.1","3.1.0","3.0.2","3.0.1","3.0.0","3.0.0-RC2","3.0.0-RC1","3.0.0-M2","3.0.0-M1","2.5.6","2.5.5","2.5.4","2.5.3","2.5.2","2.5.1","2.5.0","2.4.2","2.4.1","2.4.0","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0","2.2.2","2.2.1","2.2.0","2.1.0","2.0.2","2.0.1","2.0.0","2.0.0-RC2","2.0.0-RC1","2.0.0-M4","2.0.0-M3","2.0.0-M2","2.0.0-M1","1.4.12","1.4.11","1.4.10","1.4.9","1.4.8","1.4.7","1.4.6","1.4.5","1.4.4","1.4.3","1.4.2","1.4.1","1.4.0","1.3.1","1.3.0","1.2.1","1.2.0","1.1.2","1.1.1","1.1.0","1.0.3","1.0.2","1.0.1","1.0.0","0.11.1","0.11.0","0.10.6","0.10.5","0.10.4","0.10.3","0.10.2","0.10.1","0.10.0","0.9.1","0.9.0"]},{"artifactId":"helidon-quickstart-se","groupId":"io.helidon.archetypes","versions":["4.0.0-ALPHA5","4.0.0-ALPHA4","4.0.0-ALPHA3","4.0.0-ALPHA2","4.0.0-ALPHA1","3.1.2","3.1.1","3.1.0","3.0.2","3.0.1","3.0.0","3.0.0-RC2","3.0.0-RC1","3.0.0-M2","3.0.0-M1","2.5.6","2.5.5","2.5.4","2.5.3","2.5.2","2.5.1","2.5.0","2.4.2","2.4.1","2.4.0","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0","2.2.2","2.2.1","2.2.0","2.1.0","2.0.2","2.0.1","2.0.0","2.0.0-RC2","2.0.0-RC1","2.0.0-M4","2.0.0-M3","2.0.0-M2","2.0.0-M1","1.4.12","1.4.11","1.4.10","1.4.9","1.4.8","1.4.7","1.4.6","1.4.5","1.4.4","1.4.3","1.4.2","1.4.1","1.4.0","1.3.1","1.3.0","1.2.1","1.2.0","1.1.2","1.1.1","1.1.0","1.0.3","1.0.2","1.0.1","1.0.0","0.11.1","0.11.0","0.10.6","0.10.5","0.10.4","0.10.3","0.10.2","0.10.1","0.10.0","0.9.1","0.9.0"]},{"artifactId":"helidon-se","groupId":"io.helidon.archetypes","versions":["2.0.0-M3","2.0.0-M2","2.0.0-M1","1.4.12","1.4.11","1.4.10","1.4.9","1.4.8","1.4.7","1.4.6","1.4.5","1.4.4","1.4.3","1.4.2","1.4.1","1.4.0","1.3.1","1.3.0"],"description":"Archetype to generate a basic Helidon SE application"},{"artifactId":"empty-plugin","groupId":"io.jenkins.archetypes","versions":["1.17","1.16","1.15","1.14","1.13","1.12","1.11","1.10","1.9","1.8","1.7","1.6","1.5","1.4","1.3","1.2","1.1","1.0"],"description":"Skeleton of a Jenkins plugin with a POM and an empty source tree."},{"artifactId":"global-configuration-plugin","groupId":"io.jenkins.archetypes","versions":["1.17","1.16","1.15","1.14","1.13","1.12","1.11","1.10","1.9","1.8","1.7","1.6","1.5","1.4","1.3","1.2"],"description":"Skeleton of a Jenkins plugin with a POM and an example piece of global configuration."},{"artifactId":"global-shared-library","groupId":"io.jenkins.archetypes","versions":["1.11","1.10","1.9","1.8","1.7","1.6","1.5","1.4"],"description":"Uses the Jenkins Pipeline Unit mock library to test the usage of a Global Shared Library"},{"artifactId":"hello-world-plugin","groupId":"io.jenkins.archetypes","versions":["1.17","1.16","1.15","1.14","1.13","1.12","1.11","1.10","1.9","1.8","1.7","1.6","1.5","1.4","1.3","1.2","1.1"],"description":"Skeleton of a Jenkins plugin with a POM and an example build step."},{"artifactId":"scripted-pipeline","groupId":"io.jenkins.archetypes","versions":["1.11","1.10","1.9","1.8","1.7","1.6","1.5","1.4"],"description":"Uses the Jenkins Pipeline Unit mock library to test the logic inside a Pipeline script."},{"artifactId":"jooby-archetype","groupId":"io.jooby","versions":["2.16.2","2.16.1","2.16.0","2.15.1","2.15.0","2.14.2","2.14.1","2.14.0","2.13.0","2.12.0","2.11.0","2.10.0","2.9.6","2.9.5","2.9.4","2.9.3","2.9.2","2.9.1","2.9.0","2.8.10","2.8.9","2.8.8","2.8.7","2.8.6","2.8.5","2.8.4","2.8.3","2.8.2","2.8.1","2.8.0","2.7.3","2.7.2","2.7.1","2.7.0","2.6.2","2.6.1","2.6.0","2.5.1","2.5.0","2.4.0","2.3.1","2.3.0","2.2.1","2.2.0","2.1.0","2.0.6"]},{"artifactId":"kalix-maven-archetype","groupId":"io.kalix","versions":["1.1.7","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0","1.0.0-M1","0.11.0-M2","0.11.0-M1"],"description":"This archetype can be used to generate a project suitable for the general development of Kalix applications"},{"artifactId":"kalix-maven-archetype-event-sourced-entity","groupId":"io.kalix","versions":["1.1.7","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0","1.0.0-M1","0.11.0-M2","0.11.0-M1"],"description":"This archetype can be used to generate a project suitable for the general development of Kalix applications"},{"artifactId":"kalix-spring-boot-archetype","groupId":"io.kalix","versions":["1.1.7","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7"],"description":"This archetype can be used to generate a project suitable for the general development of Kalix applications"},{"artifactId":"kalix-spring-boot-kotlin-archetype","groupId":"io.kalix","versions":["1.1.7"],"description":"This archetype can be used to generate a project suitable for the general development of Kalix applications"},{"artifactId":"kestros-project-archetype","groupId":"io.kestros.cms.archetypes","versions":["0.3.0","0.2.1","0.1.0","0.0.1"]},{"artifactId":"knotx-adapter-archetype","groupId":"io.knotx","versions":["1.3.0"]},{"artifactId":"knotx-knot-archetype","groupId":"io.knotx","versions":["1.3.0"]},{"artifactId":"knotx-adapter-archetype","groupId":"io.knotx.archetypes","versions":["1.2.0","1.1.2"]},{"artifactId":"knotx-knot-archetype","groupId":"io.knotx.archetypes","versions":["1.2.0","1.1.2"]},{"artifactId":"automationWebBasic","groupId":"io.lippia.archetypes","versions":["3.1.0","3.1.0.1"],"description":"An archetype which contains the basic automation project structure to run tests locally."},{"artifactId":"automationWebZalenium","groupId":"io.lippia.archetypes","versions":["3.1.0","3.1.0.1"],"description":"An archetype which contains the basic automation project structure to run tests integrated with zalenium. Its able to run in parallel."},{"artifactId":"automationWebZaleniumReportServer","groupId":"io.lippia.archetypes","versions":["3.1.0.1"],"description":"An archetype which contains the basic automation project structure to run tests integrated with zalenium and post results on Report Server. Its able to run in parallel."},{"artifactId":"lippia-mobile","groupId":"io.lippia.archetypes","versions":["3.2.1.1"],"description":"An archetype which contains the mobile automation projectstructure."},{"artifactId":"cinnamon-archetype","groupId":"io.magentys","versions":["0.2.0","0.1.3","0.1.2","0.1.0","0.0.3","0.0.2"]},{"artifactId":"mangooio-maven-archetype","groupId":"io.mangoo","versions":["7.12.0-Beta2","7.12.0-Beta1","7.11.0","7.11.0-RC1","7.11.0-Beta3","7.11.0-Beta2","7.11.0-Beta1","7.10.0","7.10.0-Beta4","7.10.0-Beta3","7.10.0-Beta2","7.10.0-Beta1","7.9.0","7.9.0-RC5","7.9.0-RC4","7.9.0-RC3","7.9.0-RC2","7.9.0-RC1","7.9.0-Beta1","7.8.0","7.8.0-RC2","7.8.0-RC1","7.8.0-Beta1","7.7.0","7.6.0","7.5.0","7.4.0","7.4.0-RC1","7.3.2","7.3.1","7.3.0","7.3.0-RC8","7.3.0-RC6","7.3.0-RC5","7.3.0-RC4","7.3.0-RC3","7.3.0-RC2","7.3.0-RC1","7.3.0-RC10","7.2.0","7.2.0-RC1","7.2.0-Beta1","7.1.0","7.1.0-RC5","7.1.0-RC4","7.1.0-RC3","7.1.0-RC2","7.1.0-RC1","7.1.0-Beta2","7.1.0-Beta1","7.0.1","7.0.0","7.0.0-RC2","7.0.0-RC1","7.0.0-Beta9","7.0.0-Beta8","7.0.0-Beta7","7.0.0-Beta5","7.0.0-Beta4","7.0.0-Beta2","7.0.0-Beta1","7.0.0-Beta10","7.0.0-Alpha7","7.0.0-Alpha6","7.0.0-Alpha4","7.0.0-Alpha3","7.0.0-Alpha2","7.0.0-Alpha1","6.15.2","6.15.1","6.15.0","6.14.0","6.13.0","6.12.0","6.11.0","6.11.0-RC3","6.11.0-RC2","6.11.0-RC1","6.10.0","6.10.0-RC1","6.9.0","6.9.0-RC5","6.9.0-RC4","6.9.0-RC3","6.9.0-RC2","6.9.0-RC1","6.8.0","6.8.0-RC1","6.7.0","6.7.0-Beta6","6.7.0-Beta5","6.7.0-Beta4","6.7.0-Beta3","6.7.0-Beta2","6.7.0-Beta1","6.6.0","6.6.0-RC2","6.6.0-RC1","6.5.1","6.5.0","6.5.0-RC3","6.5.0-RC2","6.5.0-RC1","6.4.0","6.4.0-RC2","6.4.0-RC1","6.3.0","6.3.0-RC1","6.2.0","6.2.0-RC1","6.2.0-Beta6","6.2.0-Beta5","6.2.0-Beta4","6.2.0-Beta3","6.2.0-Beta2","6.2.0-Beta1","6.1.0","6.1.0-Beta6","6.1.0-Beta5","6.1.0-Beta4","6.1.0-Beta3","6.1.0-Beta2","6.1.0-Beta1","6.0.0","6.0.0-RC2","6.0.0-RC1","6.0.0-Beta8","6.0.0-Beta7","6.0.0-Beta6","6.0.0-Beta5","6.0.0-Beta4","6.0.0-Beta3","6.0.0-Beta2","6.0.0-Beta1","6.0.0-Alpha8","6.0.0-Alpha7","6.0.0-Alpha6","6.0.0-Alpha5","6.0.0-Alpha4","6.0.0-Alpha3","6.0.0-Alpha2","6.0.0-Alpha1","5.17.0-Beta1","5.16.0","5.16.0-RC1","5.16.0-Beta1","5.15.0","5.15.0-Beta3","5.15.0-Beta2","5.15.0-Beta1","5.14.0","5.14.0-RC3","5.14.0-Beta3","5.14.0-Beta2","5.14.0-Beta1","5.13.2","5.13.1","5.13.0","5.13.0-RC1","5.12.0","5.12.0-RC1","5.12.0-Beta3","5.12.0-Beta2","5.12.0-Beta1","5.11.0","5.11.0-RC4","5.11.0-RC3","5.11.0-RC2","5.11.0-RC1","5.10.1","5.10.0","5.10.0-RC2","5.10.0-RC1","5.9.0","5.8.1","5.8.0","5.8.0-RC3","5.8.0-RC1","5.7.0","5.6.0","5.5.0","5.5.0-RC2","5.5.0-RC1","5.5.0-Beta1","5.4.0","5.4.0-RC1","5.3.0","5.3.0-Beta3","5.3.0-Beta2","5.3.0-Beta1","5.2.0","5.2.0-RC4","5.2.0-RC3","5.2.0-RC2","5.2.0-RC1","5.1.0","5.0.1","5.0.0","5.0.0-RC2","5.0.0-RC1","5.0.0-Beta2","5.0.0-Beta1","5.0.0-Alpha9","5.0.0-Alpha8","5.0.0-Alpha7","5.0.0-Alpha6","5.0.0-Alpha5","5.0.0-Alpha4","5.0.0-Alpha3","5.0.0-Alpha2","5.0.0-Alpha1","4.18.0","4.17.0","4.16.0","4.15.0","4.14.0","4.13.0","4.13.0-RC3","4.13.0-RC1","4.13.0-Beta9","4.13.0-Beta8","4.13.0-Beta7","4.13.0-Beta6","4.13.0-Beta5","4.13.0-Beta4","4.13.0-Beta3","4.13.0-Beta2","4.13.0-Beta1","4.13.0-Beta10","4.12.0","4.12.0-RC3","4.12.0-RC2","4.12.0-Beta5","4.12.0-Beta4","4.12.0-Beta3","4.12.0-Beta2","4.12.0-Beta1","4.11.0","4.11.0-RC1","4.11.0-Beta1","4.10.0","4.10.0-RC1","4.10.0-Beta5","4.10.0-Beta4","4.10.0-Beta3","4.10.0-Beta2","4.10.0-Beta1","4.9.0","4.9.0-Beta2","4.9.0-Beta1","4.8.0","4.8.0-Beta2","4.8.0-Beta1","4.7.2","4.7.1","4.7.0","4.7.0-RC4","4.7.0-RC3","4.7.0-RC2","4.7.0-RC1","4.6.0","4.6.0-RC1","4.6.0-Beta3","4.6.0-Beta2","4.6.0-Beta1","4.5.0","4.5.0-RC1","4.4.1","4.4.0","4.4.0-RC2","4.4.0-RC1","4.4.0-Beta3","4.4.0-Beta2","4.4.0-Beta1","4.3.3","4.3.2","4.3.1","4.3.0","4.3.0-RC1","4.3.0-Beta3","4.3.0-Beta2","4.3.0-Beta1","4.2.1","4.2.0","4.1.1","4.1.0","4.1.0-RC1","4.0.0","4.0.0-RC4","4.0.0-RC3","4.0.0-RC2","4.0.0-RC1","4.0.0-Beta9","4.0.0-Beta8","4.0.0-Beta7","4.0.0-Beta6","4.0.0-Beta5","4.0.0-Beta4","4.0.0-Beta3","4.0.0-Beta2","4.0.0-Beta1","4.0.0-Beta14","4.0.0-Beta13","4.0.0-Beta12","4.0.0-Beta11","4.0.0-Beta10","4.0.0-Alpha2","3.12.0","3.11.0","3.10.0","3.9.0","3.8.1","3.8.0","3.8.0-RC2","3.8.0-RC1","3.7.1","3.7.0","3.6.0","3.5.0","3.4.0","3.3.0","3.2.0","3.1.1","3.1.0","3.1.0-RC5","3.1.0-RC4","3.1.0-RC3","3.1.0-RC2","3.0.0","3.0.0-RC3","3.0.0-RC2","3.0.0-RC1","3.0.0-Beta2","3.0.0-Beta1","2.7.0","2.6.1","2.6.0","2.5.1","2.5.0","2.4.1","2.4.0","2.3.1","2.3.0","2.2.0","2.1.0","2.0.2","2.0.1","2.0.0","2.0.0-RC3","2.0.0-RC2","2.0.0-RC1","2.0.0-Beta9","2.0.0-Beta8","2.0.0-Beta7","2.0.0-Beta6","2.0.0-Beta5","2.0.0-Beta4","2.0.0-Beta3","2.0.0-Beta2","2.0.0-Beta1","1.3.2","1.3.1","1.3.0","1.2.0","1.2.0-RC2","1.2.0-RC1","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.1.0-RC7","1.1.0-RC6","1.1.0-RC5","1.1.0-RC4","1.1.0-RC3","1.1.0-RC2","1.1.0-RC1","1.0.1","1.0.0","1.0.0-RC5","1.0.0-RC4","1.1.4.1"]},{"artifactId":"mdd-archetype","groupId":"io.mateu.archetypes","versions":["0.0.36","0.0.35","0.0.34","0.0.33","0.0.32","0.0.31","0.0.30","0.0.29","0.0.28","0.0.27","0.0.26","0.0.25","0.0.23","0.0.22","0.0.20","0.0.19","0.0.18","0.0.17","0.0.16","0.0.14","0.0.13","0.0.12","0.0.11","0.0.10","0.0.9","0.0.8","0.0.7","0.0.6","0.0.5","0.0.4","0.0.3","0.0.2","0.0.1"],"description":"This is an archetype for building Mateu MDD based apps."},{"artifactId":"mdd-archetype-se","groupId":"io.mateu.archetypes","versions":["0.1.19","0.1.18","0.1.17","0.1.16","0.1.15","0.1.14","0.1.13","0.1.12","0.1.11","0.1.10","0.1.9","0.1.8","0.1.7","0.1.6","0.1.5","0.1.4","0.1.3","0.1.2","0.1.1","0.1.0"],"description":"This is an archetype for building Mateu MDD based apps."},{"artifactId":"mdd-base-archetype","groupId":"io.mateu.ui.mdd.archetypes","versions":["0.0.1","0.0.1.4","0.0.1.3","0.0.1.2","0.0.1.1"],"description":"This is an archetype for building Mateu MDD based apps."},{"artifactId":"microlam-lambda-pipeline-quickstart","groupId":"io.microlam","versions":["0.8.3","0.8.2","0.8.1","0.8","0.7","0.6","0.5","0.4","0.3","0.2"],"description":"Maven Archetype for creating minimal Microlam Lambda Pipeline Quickstart project"},{"artifactId":"microlam-lambda-quickstart","groupId":"io.microlam","versions":["0.9.4","0.9.3","0.9.2","0.9.1","0.9.0","0.8.6","0.8.5","0.8.4","0.8.3","0.8.2","0.8.1","0.8","0.7","0.6","0.5","0.4","0.3","0.2"],"description":"Maven Archetype for creating minimal Microlam Lambda Quickstart project"},{"artifactId":"nuls-archetype","groupId":"io.nuls.ccc","versions":["1.0.0"],"description":"Maven archetype to generate NULS smart contract project"},{"artifactId":"nuls-smartcontract-archetype","groupId":"io.nuls.v2","versions":["1.0.0","0.13","0.12","0.11","0.10","0.9"]},{"artifactId":"oasp4j-template-server","groupId":"io.oasp.java.templates","versions":["3.0.0","3.0.0-alpha.1","2.6.1","2.6.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.2","2.1.1","2.1.0","2.0.0","1.5.0","1.4.0","1.3.0","1.2.0","1.1.0","1.0.0"],"description":"Application template for the server of the Open Application Standard Platform for Java (OASP4J)."},{"artifactId":"liberty-archetype-ear","groupId":"io.openliberty.tools","versions":["3.7.1","3.7","3.6.1","3.6","3.5.2","3.5.1","3.5","3.4","3.3.5-M2","3.3.5-M1","3.3.4","3.3.3","3.3.2","3.3.1","3.3","3.3-M4","3.3-M3","3.3-M2","3.3-M1","3.2.4","3.2.3","3.2.2","3.2.1","3.2","3.1","3.0.1","3.0"],"description":"An archetype that generates a Java EE 8 multi-module project that includes an EJB module, a web application module and an EAR module"},{"artifactId":"liberty-archetype-webapp","groupId":"io.openliberty.tools","versions":["3.7.1","3.7","3.6.1","3.6","3.5.2","3.5.1","3.5","3.4","3.3.5-M2","3.3.5-M1","3.3.4","3.3.3","3.3.2","3.3.1","3.3","3.3-M4","3.3-M3","3.3-M2","3.3-M1","3.2.4","3.2.3","3.2.2","3.2.1","3.2","3.1","3.0.1","3.0"]},{"artifactId":"liberty-plugin-archetype","groupId":"io.openliberty.tools","versions":["3.7.1","3.7","3.6.1","3.6","3.5.2","3.5.1","3.5","3.4","3.3.5-M2","3.3.5-M1","3.3.4","3.3.3","3.3.2","3.3.1","3.3","3.3-M4","3.3-M3","3.3-M2","3.3-M1","3.2.4","3.2.3","3.2.2","3.2.1","3.2","3.1","3.0.1","3.0"]},{"artifactId":"dropwizard-api","groupId":"io.paradoxical","versions":["1.0","0.9.2"],"description":"A simple dropwizard (0.9.1) api template with swagger enabled, bundled as a docker container"},{"artifactId":"library-archetype","groupId":"io.paradoxical","versions":["1.0"],"description":"A library archetype for deployment to sonatype"},{"artifactId":"lwjgl-archetype","groupId":"io.paulbaker.archetypes","versions":["1.2","1.1"],"description":"A simple archetype for generating LWJGL projects quickly"},{"artifactId":"project-quickstart","groupId":"io.paulbaker.archetypes","versions":["1.0"],"description":"A simple archetype for generating modern java applications"},{"artifactId":"playn-archetype","groupId":"io.playn","versions":["2.0.6","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0","2.0-rc4","2.0-rc3","2.0-rc2","2.0-rc1"],"description":"Archetype for PlayN game projects."},{"artifactId":"quarkus-amazon-lambda-archetype","groupId":"io.quarkus","versions":["0.28.1","0.28.0","0.27.0","3.0.0.Alpha4","3.0.0.Alpha3","3.0.0.Alpha2","3.0.0.Alpha1","2.9.2.Final","2.9.1.Final","2.9.0.Final","2.9.0.CR1","2.8.3.Final","2.8.2.Final","2.8.1.Final","2.8.0.Final","2.8.0.CR1","2.7.7.Final","2.7.6.Final","2.7.5.Final","2.7.4.Final","2.7.3.Final","2.7.2.Final","2.7.1.Final","2.7.0.Final","2.7.0.CR1","2.6.3.Final","2.6.2.Final","2.6.1.Final","2.6.0.Final","2.6.0.CR1","2.5.4.Final","2.5.3.Final","2.5.2.Final","2.5.1.Final","2.5.0.Final","2.5.0.CR1","2.4.2.Final","2.4.1.Final","2.4.0.Final","2.4.0.CR1","2.3.1.Final","2.3.0.Final","2.3.0.CR1","2.2.5.Final","2.2.4.Final","2.2.3.Final","2.2.2.Final","2.2.1.Final","2.2.0.Final","2.2.0.CR1","2.16.4.Final","2.16.3.Final","2.16.2.Final","2.16.1.Final","2.16.0.Final","2.16.0.CR1","2.15.3.Final","2.15.2.Final","2.15.1.Final","2.15.0.Final","2.15.0.CR1","2.14.3.Final","2.14.2.Final","2.14.1.Final","2.14.0.Final","2.14.0.CR1","2.13.7.Final","2.13.6.Final","2.13.5.Final","2.13.4.Final","2.13.3.Final","2.13.2.Final","2.13.1.Final","2.13.0.Final","2.13.0.CR1","2.12.3.Final","2.12.2.Final","2.12.1.Final","2.12.0.Final","2.12.0.CR1","2.11.3.Final","2.11.2.Final","2.11.1.Final","2.11.0.Final","2.11.0.CR1","2.10.4.Final","2.10.3.Final","2.10.2.Final","2.10.1.Final","2.10.0.Final","2.10.0.CR1","2.1.4.Final","2.1.3.Final","2.1.2.Final","2.1.1.Final","2.1.0.Final","2.1.0.CR1","2.0.3.Final","2.0.2.Final","2.0.1.Final","2.0.0.Final","2.0.0.CR3","2.0.0.CR2","2.0.0.CR1","2.0.0.Alpha3","2.0.0.Alpha2","2.0.0.Alpha1","1.9.2.Final","1.9.1.Final","1.9.0.Final","1.9.0.CR1","1.8.3.Final","1.8.2.Final","1.8.1.Final","1.8.0.Final","1.8.0.CR1","1.7.6.Final","1.7.5.Final","1.7.4.Final","1.7.3.Final","1.7.2.Final","1.7.1.Final","1.7.0.Final","1.7.0.CR2","1.7.0.CR1","1.6.1.Final","1.6.0.Final","1.6.0.CR1","1.5.2.Final","1.5.1.Final","1.5.0.Final","1.5.0.CR1","1.4.2.Final","1.4.1.Final","1.4.0.Final","1.4.0.CR1","1.3.4.Final","1.3.3.Final","1.3.2.Final","1.3.1.Final","1.3.0.Final","1.3.0.CR2","1.3.0.CR1","1.3.0.Alpha2","1.3.0.Alpha1","1.2.1.Final","1.2.0.Final","1.2.0.CR1","1.13.7.Final","1.13.6.Final","1.13.5.Final","1.13.4.Final","1.13.3.Final","1.13.2.Final","1.13.1.Final","1.13.0.Final","1.13.0.CR1","1.12.2.Final","1.12.1.Final","1.12.0.Final","1.12.0.CR1","1.11.7.Final","1.11.6.Final","1.11.5.Final","1.11.4.Final","1.11.3.Final","1.11.2.Final","1.11.1.Final","1.11.0.Final","1.11.0.CR1","1.11.0.Beta2","1.11.0.Beta1","1.10.5.Final","1.10.4.Final","1.10.3.Final","1.10.2.Final","1.10.1.Final","1.10.0.Final","1.10.0.CR1","1.1.1.Final","1.1.0.Final","1.1.0.CR1","1.0.1.Final","1.0.0.Final","1.0.0.CR2","1.0.0.CR1"]},{"artifactId":"quarkus-amazon-lambda-http-archetype","groupId":"io.quarkus","versions":["0.28.1","0.28.0","0.27.0","3.0.0.Alpha4","3.0.0.Alpha3","3.0.0.Alpha2","3.0.0.Alpha1","2.9.2.Final","2.9.1.Final","2.9.0.Final","2.9.0.CR1","2.8.3.Final","2.8.2.Final","2.8.1.Final","2.8.0.Final","2.8.0.CR1","2.7.7.Final","2.7.6.Final","2.7.5.Final","2.7.4.Final","2.7.3.Final","2.7.2.Final","2.7.1.Final","2.7.0.Final","2.7.0.CR1","2.6.3.Final","2.6.2.Final","2.6.1.Final","2.6.0.Final","2.6.0.CR1","2.5.4.Final","2.5.3.Final","2.5.2.Final","2.5.1.Final","2.5.0.Final","2.5.0.CR1","2.4.2.Final","2.4.1.Final","2.4.0.Final","2.4.0.CR1","2.3.1.Final","2.3.0.Final","2.3.0.CR1","2.2.5.Final","2.2.4.Final","2.2.3.Final","2.2.2.Final","2.2.1.Final","2.2.0.Final","2.2.0.CR1","2.16.4.Final","2.16.3.Final","2.16.2.Final","2.16.1.Final","2.16.0.Final","2.16.0.CR1","2.15.3.Final","2.15.2.Final","2.15.1.Final","2.15.0.Final","2.15.0.CR1","2.14.3.Final","2.14.2.Final","2.14.1.Final","2.14.0.Final","2.14.0.CR1","2.13.7.Final","2.13.6.Final","2.13.5.Final","2.13.4.Final","2.13.3.Final","2.13.2.Final","2.13.1.Final","2.13.0.Final","2.13.0.CR1","2.12.3.Final","2.12.2.Final","2.12.1.Final","2.12.0.Final","2.12.0.CR1","2.11.3.Final","2.11.2.Final","2.11.1.Final","2.11.0.Final","2.11.0.CR1","2.10.4.Final","2.10.3.Final","2.10.2.Final","2.10.1.Final","2.10.0.Final","2.10.0.CR1","2.1.4.Final","2.1.3.Final","2.1.2.Final","2.1.1.Final","2.1.0.Final","2.1.0.CR1","2.0.3.Final","2.0.2.Final","2.0.1.Final","2.0.0.Final","2.0.0.CR3","2.0.0.CR2","2.0.0.CR1","2.0.0.Alpha3","2.0.0.Alpha2","2.0.0.Alpha1","1.9.2.Final","1.9.1.Final","1.9.0.Final","1.9.0.CR1","1.8.3.Final","1.8.2.Final","1.8.1.Final","1.8.0.Final","1.8.0.CR1","1.7.6.Final","1.7.5.Final","1.7.4.Final","1.7.3.Final","1.7.2.Final","1.7.1.Final","1.7.0.Final","1.7.0.CR2","1.7.0.CR1","1.6.1.Final","1.6.0.Final","1.6.0.CR1","1.5.2.Final","1.5.1.Final","1.5.0.Final","1.5.0.CR1","1.4.2.Final","1.4.1.Final","1.4.0.Final","1.4.0.CR1","1.3.4.Final","1.3.3.Final","1.3.2.Final","1.3.1.Final","1.3.0.Final","1.3.0.CR2","1.3.0.CR1","1.3.0.Alpha2","1.3.0.Alpha1","1.2.1.Final","1.2.0.Final","1.2.0.CR1","1.13.7.Final","1.13.6.Final","1.13.5.Final","1.13.4.Final","1.13.3.Final","1.13.2.Final","1.13.1.Final","1.13.0.Final","1.13.0.CR1","1.12.2.Final","1.12.1.Final","1.12.0.Final","1.12.0.CR1","1.11.7.Final","1.11.6.Final","1.11.5.Final","1.11.4.Final","1.11.3.Final","1.11.2.Final","1.11.1.Final","1.11.0.Final","1.11.0.CR1","1.11.0.Beta2","1.11.0.Beta1","1.10.5.Final","1.10.4.Final","1.10.3.Final","1.10.2.Final","1.10.1.Final","1.10.0.Final","1.10.0.CR1","1.1.1.Final","1.1.0.Final","1.1.0.CR1","1.0.1.Final","1.0.0.Final","1.0.0.CR2","1.0.0.CR1"]},{"artifactId":"quarkus-amazon-lambda-http-v1-archetype","groupId":"io.quarkus","versions":["1.12.2.Final","1.12.1.Final","1.12.0.Final","1.12.0.CR1"]},{"artifactId":"quarkus-amazon-lambda-rest-archetype","groupId":"io.quarkus","versions":["3.0.0.Alpha4","3.0.0.Alpha3","3.0.0.Alpha2","3.0.0.Alpha1","2.9.2.Final","2.9.1.Final","2.9.0.Final","2.9.0.CR1","2.8.3.Final","2.8.2.Final","2.8.1.Final","2.8.0.Final","2.8.0.CR1","2.7.7.Final","2.7.6.Final","2.7.5.Final","2.7.4.Final","2.7.3.Final","2.7.2.Final","2.7.1.Final","2.7.0.Final","2.7.0.CR1","2.6.3.Final","2.6.2.Final","2.6.1.Final","2.6.0.Final","2.6.0.CR1","2.5.4.Final","2.5.3.Final","2.5.2.Final","2.5.1.Final","2.5.0.Final","2.5.0.CR1","2.4.2.Final","2.4.1.Final","2.4.0.Final","2.4.0.CR1","2.3.1.Final","2.3.0.Final","2.3.0.CR1","2.2.5.Final","2.2.4.Final","2.2.3.Final","2.2.2.Final","2.2.1.Final","2.2.0.Final","2.2.0.CR1","2.16.4.Final","2.16.3.Final","2.16.2.Final","2.16.1.Final","2.16.0.Final","2.16.0.CR1","2.15.3.Final","2.15.2.Final","2.15.1.Final","2.15.0.Final","2.15.0.CR1","2.14.3.Final","2.14.2.Final","2.14.1.Final","2.14.0.Final","2.14.0.CR1","2.13.7.Final","2.13.6.Final","2.13.5.Final","2.13.4.Final","2.13.3.Final","2.13.2.Final","2.13.1.Final","2.13.0.Final","2.13.0.CR1","2.12.3.Final","2.12.2.Final","2.12.1.Final","2.12.0.Final","2.12.0.CR1","2.11.3.Final","2.11.2.Final","2.11.1.Final","2.11.0.Final","2.11.0.CR1","2.10.4.Final","2.10.3.Final","2.10.2.Final","2.10.1.Final","2.10.0.Final","2.10.0.CR1","2.1.4.Final","2.1.3.Final","2.1.2.Final","2.1.1.Final","2.1.0.Final","2.1.0.CR1","2.0.3.Final","2.0.2.Final","2.0.1.Final","2.0.0.Final","2.0.0.CR3","2.0.0.CR2","2.0.0.CR1","2.0.0.Alpha3","2.0.0.Alpha2","2.0.0.Alpha1","1.13.7.Final","1.13.6.Final","1.13.5.Final","1.13.4.Final","1.13.3.Final","1.13.2.Final","1.13.1.Final","1.13.0.Final","1.13.0.CR1"]},{"artifactId":"quarkus-azure-functions-http-archetype","groupId":"io.quarkus","versions":["0.28.1","0.28.0","0.27.0","0.26.1","0.26.0","0.25.0","0.24.0","0.23.2","0.23.1","0.23.0","3.0.0.Alpha3","3.0.0.Alpha2","3.0.0.Alpha1","2.9.2.Final","2.9.1.Final","2.9.0.Final","2.9.0.CR1","2.8.3.Final","2.8.2.Final","2.8.1.Final","2.8.0.Final","2.8.0.CR1","2.7.7.Final","2.7.6.Final","2.7.5.Final","2.7.4.Final","2.7.3.Final","2.7.2.Final","2.7.1.Final","2.7.0.Final","2.7.0.CR1","2.6.3.Final","2.6.2.Final","2.6.1.Final","2.6.0.Final","2.6.0.CR1","2.5.4.Final","2.5.3.Final","2.5.2.Final","2.5.1.Final","2.5.0.Final","2.5.0.CR1","2.4.2.Final","2.4.1.Final","2.4.0.Final","2.4.0.CR1","2.3.1.Final","2.3.0.Final","2.3.0.CR1","2.2.5.Final","2.2.4.Final","2.2.3.Final","2.2.2.Final","2.2.1.Final","2.2.0.Final","2.2.0.CR1","2.16.4.Final","2.16.3.Final","2.16.2.Final","2.16.1.Final","2.16.0.Final","2.16.0.CR1","2.15.3.Final","2.15.2.Final","2.15.1.Final","2.15.0.Final","2.15.0.CR1","2.14.3.Final","2.14.2.Final","2.14.1.Final","2.14.0.Final","2.14.0.CR1","2.13.7.Final","2.13.6.Final","2.13.5.Final","2.13.4.Final","2.13.3.Final","2.13.2.Final","2.13.1.Final","2.13.0.Final","2.13.0.CR1","2.12.3.Final","2.12.2.Final","2.12.1.Final","2.12.0.Final","2.12.0.CR1","2.11.3.Final","2.11.2.Final","2.11.1.Final","2.11.0.Final","2.11.0.CR1","2.10.4.Final","2.10.3.Final","2.10.2.Final","2.10.1.Final","2.10.0.Final","2.10.0.CR1","2.1.4.Final","2.1.3.Final","2.1.2.Final","2.1.1.Final","2.1.0.Final","2.1.0.CR1","2.0.3.Final","2.0.2.Final","2.0.1.Final","2.0.0.Final","2.0.0.CR3","2.0.0.CR2","2.0.0.CR1","2.0.0.Alpha3","2.0.0.Alpha2","2.0.0.Alpha1","1.9.2.Final","1.9.1.Final","1.9.0.Final","1.9.0.CR1","1.8.3.Final","1.8.2.Final","1.8.1.Final","1.8.0.Final","1.8.0.CR1","1.7.6.Final","1.7.5.Final","1.7.4.Final","1.7.3.Final","1.7.2.Final","1.7.1.Final","1.7.0.Final","1.7.0.CR2","1.7.0.CR1","1.6.1.Final","1.6.0.Final","1.6.0.CR1","1.5.2.Final","1.5.1.Final","1.5.0.Final","1.5.0.CR1","1.4.2.Final","1.4.1.Final","1.4.0.Final","1.4.0.CR1","1.3.4.Final","1.3.3.Final","1.3.2.Final","1.3.1.Final","1.3.0.Final","1.3.0.CR2","1.3.0.CR1","1.3.0.Alpha2","1.3.0.Alpha1","1.2.1.Final","1.2.0.Final","1.2.0.CR1","1.13.7.Final","1.13.6.Final","1.13.5.Final","1.13.4.Final","1.13.3.Final","1.13.2.Final","1.13.1.Final","1.13.0.Final","1.13.0.CR1","1.12.2.Final","1.12.1.Final","1.12.0.Final","1.12.0.CR1","1.11.7.Final","1.11.6.Final","1.11.5.Final","1.11.4.Final","1.11.3.Final","1.11.2.Final","1.11.1.Final","1.11.0.Final","1.11.0.CR1","1.11.0.Beta2","1.11.0.Beta1","1.10.5.Final","1.10.4.Final","1.10.3.Final","1.10.2.Final","1.10.1.Final","1.10.0.Final","1.10.0.CR1","1.1.1.Final","1.1.0.Final","1.1.0.CR1","1.0.1.Final","1.0.0.Final","1.0.0.CR2","1.0.0.CR1"]},{"artifactId":"quarkus-funqy-amazon-lambda-archetype","groupId":"io.quarkus","versions":["3.0.0.Alpha4","3.0.0.Alpha3","3.0.0.Alpha2","3.0.0.Alpha1","2.9.2.Final","2.9.1.Final","2.9.0.Final","2.9.0.CR1","2.8.3.Final","2.8.2.Final","2.8.1.Final","2.8.0.Final","2.8.0.CR1","2.7.7.Final","2.7.6.Final","2.7.5.Final","2.7.4.Final","2.7.3.Final","2.7.2.Final","2.7.1.Final","2.7.0.Final","2.7.0.CR1","2.6.3.Final","2.6.2.Final","2.6.1.Final","2.6.0.Final","2.6.0.CR1","2.5.4.Final","2.5.3.Final","2.5.2.Final","2.5.1.Final","2.5.0.Final","2.5.0.CR1","2.4.2.Final","2.4.1.Final","2.4.0.Final","2.4.0.CR1","2.3.1.Final","2.3.0.Final","2.3.0.CR1","2.2.5.Final","2.2.4.Final","2.2.3.Final","2.2.2.Final","2.2.1.Final","2.2.0.Final","2.2.0.CR1","2.16.4.Final","2.16.3.Final","2.16.2.Final","2.16.1.Final","2.16.0.Final","2.16.0.CR1","2.15.3.Final","2.15.2.Final","2.15.1.Final","2.15.0.Final","2.15.0.CR1","2.14.3.Final","2.14.2.Final","2.14.1.Final","2.14.0.Final","2.14.0.CR1","2.13.7.Final","2.13.6.Final","2.13.5.Final","2.13.4.Final","2.13.3.Final","2.13.2.Final","2.13.1.Final","2.13.0.Final","2.13.0.CR1","2.12.3.Final","2.12.2.Final","2.12.1.Final","2.12.0.Final","2.12.0.CR1","2.11.3.Final","2.11.2.Final","2.11.1.Final","2.11.0.Final","2.11.0.CR1","2.10.4.Final","2.10.3.Final","2.10.2.Final","2.10.1.Final","2.10.0.Final","2.10.0.CR1","2.1.4.Final","2.1.3.Final","2.1.2.Final","2.1.1.Final","2.1.0.Final","2.1.0.CR1","2.0.3.Final","2.0.2.Final","2.0.1.Final","2.0.0.Final","2.0.0.CR3","2.0.0.CR2","2.0.0.CR1","2.0.0.Alpha3","2.0.0.Alpha2","2.0.0.Alpha1","1.9.2.Final","1.9.1.Final","1.9.0.Final","1.9.0.CR1","1.8.3.Final","1.8.2.Final","1.8.1.Final","1.8.0.Final","1.8.0.CR1","1.7.6.Final","1.7.5.Final","1.7.4.Final","1.7.3.Final","1.7.2.Final","1.7.1.Final","1.7.0.Final","1.7.0.CR2","1.7.0.CR1","1.6.1.Final","1.6.0.Final","1.6.0.CR1","1.5.2.Final","1.5.1.Final","1.5.0.Final","1.5.0.CR1","1.4.2.Final","1.4.1.Final","1.4.0.Final","1.4.0.CR1","1.13.7.Final","1.13.6.Final","1.13.5.Final","1.13.4.Final","1.13.3.Final","1.13.2.Final","1.13.1.Final","1.13.0.Final","1.13.0.CR1","1.12.2.Final","1.12.1.Final","1.12.0.Final","1.12.0.CR1","1.11.7.Final","1.11.6.Final","1.11.5.Final","1.11.4.Final","1.11.3.Final","1.11.2.Final","1.11.1.Final","1.11.0.Final","1.11.0.CR1","1.11.0.Beta2","1.11.0.Beta1","1.10.5.Final","1.10.4.Final","1.10.3.Final","1.10.2.Final","1.10.1.Final","1.10.0.Final","1.10.0.CR1"]},{"artifactId":"operator-mvn-archetype","groupId":"io.radanalytics","versions":["0.0.8"]},{"artifactId":"operator-scala-mvn-archetype","groupId":"io.radanalytics","versions":["0.0.8"]},{"artifactId":"moven-model-archetype","groupId":"io.redlink.ssix.moven","versions":["0.2.0","0.1.0"],"description":"Moven archetype for packaging models."},{"artifactId":"hdes-maven-archetype","groupId":"io.resys.hdes","versions":["0.1.11","0.1.10","0.1.9","0.1.8","0.1.7","0.1.6","0.1.5","0.1.4","0.1.3","0.1.2","0.1.1","0.0.13","0.0.12","0.0.11","0.0.8","0.0.7","0.0.6","0.0.4"]},{"artifactId":"rhino-archetype","groupId":"io.ryos.rhino","versions":["2.3.2","2.2.3","2.2.2","2.2.1","2.2.0","2.1.12","2.1.10","2.1.9","2.1.8","2.1.7","2.1.6","2.1.5","2.1.4","2.1.3","2.1.2","2.1.0","2.0.1","2.0.0","1.8.3","1.8.2","1.8.1","1.7.2","1.7.1","1.6.2","1.6.1","1.6.0","1.5.0","1.1.1","1.0.12","1.0.11","1.0.10","1.0.8","1.0.7","2.2.0.M1","2.0.0.RC","1.1.2.RELEASE","1.1.0.RC"],"description":"Rhino: Annotation-based JUnit-style load and performance testing framework"},{"artifactId":"secugrow-java-archetype","groupId":"io.secugrow","versions":["1.6.0","1.4.0","0.3"],"description":"This archetype will generate you a Selenium Cucumber Skeleton for your projects with your choosen\n packagenames."},{"artifactId":"secugrow-kotlin-archetype","groupId":"io.secugrow","versions":["1.7.0","1.6.1","1.6.0","1.5.0","1.4.1","1.4.0","1.3.0","1.2.2"],"description":"This archetype will generate a Selenium Cucumber Skeleton for your projects with chosen package names"},{"artifactId":"serialized-dropwizard-archetype","groupId":"io.serialized.archetype","versions":["1.0.2","1.0.1"],"description":"Simple Dropwizard Maven archetype for Serialized"},{"artifactId":"bctrace-archetype","groupId":"io.shiftleft","versions":["4.0.0"]},{"artifactId":"siddhi-archetype-execution","groupId":"io.siddhi.extension.archetype","versions":["2.0.1","2.0.0"]},{"artifactId":"siddhi-archetype-io","groupId":"io.siddhi.extension.archetype","versions":["2.0.1","2.0.0"]},{"artifactId":"siddhi-archetype-map","groupId":"io.siddhi.extension.archetype","versions":["2.0.1","2.0.0"]},{"artifactId":"siddhi-archetype-script","groupId":"io.siddhi.extension.archetype","versions":["2.0.1","2.0.0"]},{"artifactId":"siddhi-archetype-store","groupId":"io.siddhi.extension.archetype","versions":["2.0.1","2.0.0"]},{"artifactId":"silverspoon-archetype-led","groupId":"io.silverspoon","versions":["0.2.1","0.2.0","0.1.2"]},{"artifactId":"silverspoon-archetype-temperature","groupId":"io.silverspoon","versions":["0.2.1","0.2.0"]},{"artifactId":"sit-dba-archetype","groupId":"io.sitoolkit.dba","versions":["1.1.0","1.0.1","1.0.0"],"description":"SI-Toolkit DB Administrator"},{"artifactId":"commercetools-spring-mvc-quickstart","groupId":"io.sphere.maven-archetypes","versions":["0.3.0","0.2.0","0.1.9","0.1.8"],"description":"Archetype for creating Spring MVC 4 web application with commercetools"},{"artifactId":"archetype-empty","groupId":"io.spot-next.archetypes","versions":["1.0.21-BETA-20190513","1.0.20-BETA-20181129","1.0.19-BETA-20181127","1.0.18-BETA-20181115","1.0.17-BETA-20181114","1.0.16-BETA-20181113","1.0.15-BETA-20181112","1.0.14-BETA-20181107","1.0.13-BETA-20181029","1.0.12-BETA-20181023","1.0.11-BETA-20181019","1.0.10-BETA-20180923","1.0.9-BETA-20180913","1.0.8-BETA-20180902","1.0.7-BETA-20180827","1.0.6-BETA-20180817","1.0.5-BETA-20180813","1.0.4-BETA-20180811-00374fa"],"description":"The spOt microservice framework."},{"artifactId":"azkarra-quickstart-java","groupId":"io.streamthoughts","versions":["0.9.2","0.9.1","0.9.0","0.8.0","0.7.4","0.7.3","0.7.2","0.7.1","0.7.0","0.6.1","0.6.0","0.5.0","0.4","0.3"],"description":"Maven Archetype for creating a simple Azkarra Streams project with Java"},{"artifactId":"azkarra-quickstart-kotlin","groupId":"io.streamthoughts","versions":["0.9.2","0.9.1","0.9.0","0.8.0"],"description":"Maven Archetype for creating a simple Azkarra Streams project with Kotlin"},{"artifactId":"aire-component-archetype","groupId":"io.sunshower.aire","versions":["1.0.6.Final","1.0.4.Final"],"description":"Aire/Vaadin Archetype Bill-Of-Materials parent POM"},{"artifactId":"extension-archetype-java","groupId":"io.syndesis","versions":["1.3.0-20180202"]},{"artifactId":"extension-archetype-spring-boot","groupId":"io.syndesis","versions":["1.3.0-20180202"]},{"artifactId":"extension-archetype-xml","groupId":"io.syndesis","versions":["1.3.0-20180202"]},{"artifactId":"syndesis-archetype-flow-extension-boot","groupId":"io.syndesis","versions":["1.2.9","1.2.8","1.2.7","1.2.6","1.2.5","1.2.4","1.2.3","1.2.2"]},{"artifactId":"syndesis-archetype-flow-extension-java","groupId":"io.syndesis","versions":["1.2.9","1.2.8","1.2.7","1.2.6","1.2.5","1.2.4","1.2.3","1.2.2"]},{"artifactId":"syndesis-archetype-flow-extension-xml","groupId":"io.syndesis","versions":["1.2.9","1.2.8","1.2.7","1.2.6","1.2.5","1.2.4","1.2.3","1.2.2"]},{"artifactId":"extension-archetype-java","groupId":"io.syndesis.extension","versions":["1.13.2","1.13.1","1.13.0","1.12.1","1.12.0","1.11.0","1.10.0","1.9.0","1.8.13","1.8.12","1.8.6","1.8.2","1.8.1","1.8.0","1.7.13","1.7.12","1.7.11","1.7.10","1.7.9","1.7.8","1.7.7","1.7.6","1.7.5","1.7.4","1.7.3","1.7.2","1.7.1","1.7.0","1.6.13","1.6.12","1.6.11","1.6.10","1.6.9","1.6.8","1.6.7","1.6.6","1.6.5","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.5.10","1.5.9","1.5.8","1.5.7","1.5.6","1.5.5","1.5.3","1.5.2","1.5.1","1.4.10","1.4.9","1.4.8","1.4.7","1.4.6","1.4.5","1.4.4","1.4.3","1.4.2","1.4.0-20180720","1.3.12","1.3.10-20180515","1.3.10","1.3.9","1.3.8","1.3.7","1.3.6","1.3.5-20180405","1.3.5","1.3.4","1.3.3","1.3.2","1.3.1","1.3.0-20180312","1.3.0-20180308","1.3.0-20180307","1.3.0-20180306","1.3.0-20180304","1.3.0-20180303","1.3.0-20180302","1.3.0-20180301","1.3.0"]},{"artifactId":"extension-archetype-spring-boot","groupId":"io.syndesis.extension","versions":["1.13.2","1.13.1","1.13.0","1.12.1","1.12.0","1.11.0","1.10.0","1.9.0","1.8.13","1.8.12","1.8.6","1.8.2","1.8.1","1.8.0","1.7.13","1.7.12","1.7.11","1.7.10","1.7.9","1.7.8","1.7.7","1.7.6","1.7.5","1.7.4","1.7.3","1.7.2","1.7.1","1.7.0","1.6.13","1.6.12","1.6.11","1.6.10","1.6.9","1.6.8","1.6.7","1.6.6","1.6.5","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.5.10","1.5.9","1.5.8","1.5.7","1.5.6","1.5.5","1.5.3","1.5.2","1.5.1","1.4.10","1.4.9","1.4.8","1.4.7","1.4.6","1.4.5","1.4.4","1.4.3","1.4.2","1.4.0-20180720","1.3.12","1.3.10-20180515","1.3.10","1.3.9","1.3.8","1.3.7","1.3.6","1.3.5-20180405","1.3.5","1.3.4","1.3.3","1.3.2","1.3.1","1.3.0-20180312","1.3.0-20180308","1.3.0-20180307","1.3.0-20180306","1.3.0-20180304","1.3.0-20180303","1.3.0-20180302","1.3.0-20180301","1.3.0"]},{"artifactId":"extension-archetype-xml","groupId":"io.syndesis.extension","versions":["1.13.2","1.13.1","1.13.0","1.12.1","1.12.0","1.11.0","1.10.0","1.9.0","1.8.13","1.8.12","1.8.6","1.8.2","1.8.1","1.8.0","1.7.13","1.7.12","1.7.11","1.7.10","1.7.9","1.7.8","1.7.7","1.7.6","1.7.5","1.7.4","1.7.3","1.7.2","1.7.1","1.7.0","1.6.13","1.6.12","1.6.11","1.6.10","1.6.9","1.6.8","1.6.7","1.6.6","1.6.5","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.5.10","1.5.9","1.5.8","1.5.7","1.5.6","1.5.5","1.5.3","1.5.2","1.5.1","1.4.10","1.4.9","1.4.8","1.4.7","1.4.6","1.4.5","1.4.4","1.4.3","1.4.2","1.4.0-20180720","1.3.12","1.3.10-20180515","1.3.10","1.3.9","1.3.8","1.3.7","1.3.6","1.3.5-20180405","1.3.5","1.3.4","1.3.3","1.3.2","1.3.1","1.3.0-20180312","1.3.0-20180308","1.3.0-20180307","1.3.0-20180306","1.3.0-20180304","1.3.0-20180303","1.3.0-20180302","1.3.0-20180301","1.3.0"]},{"artifactId":"tapir-extensions-archetype","groupId":"io.tapir-test","versions":["2.0.0","1.3.0","1.2.1","1.1.0","1.0.2","1.0.1","1.0.0"],"description":"tapir Extensions Archetype"},{"artifactId":"default-bw5-ear","groupId":"io.teecube.tac.archetypes","versions":["0.0.1"],"description":"Default BW5 EAR archetype"},{"artifactId":"default-bw6-app-module","groupId":"io.teecube.tac.archetypes","versions":["0.0.1"],"description":"Default BW6 app module archetype"},{"artifactId":"default-bw6-application","groupId":"io.teecube.tac.archetypes","versions":["0.0.1"],"description":"Default BW6 application archetype"},{"artifactId":"tesler-base-archetype","groupId":"io.tesler","versions":["2.3.0","2.2.0","2.1.1","2.1.0","2.0.3","2.0.2","2.0.1","2.0.0","1.0.4","1.0.3","1.0.2","1.0.1","1.0","3.0.0.M9","3.0.0.M8","3.0.0.M7","3.0.0.M6","3.0.0.M5","3.0.0.M4","3.0.0.M3","3.0.0.M2","3.0.0.M1","2.3.0.RC4","2.3.0.RC3","2.3.0.RC2","2.3.0.RC1","2.2.0.RC2","2.2.0.RC1"],"description":"Java framework designed for creating Enterprise Rich Web Applications"},{"artifactId":"tesler-simple-archetype","groupId":"io.tesler","versions":["3.0.2","3.0.1","3.0.0.M14","3.0.0.M13","3.0.0.M12","3.0.0.M11","3.0.0.M10","3.0.0.0"],"description":"Java framework designed for creating Enterprise Rich Web Applications"},{"artifactId":"tesler-vanilla-archetype","groupId":"io.tesler","versions":["2.3.0","2.2.0","2.1.1","2.1.0","2.0.3","2.0.2","2.0.1","2.0.0","1.0.4","1.0.3","1.0.2","1.0.1","1.0","2.3.0.RC4","2.3.0.RC3","2.3.0.RC2","2.3.0.RC1","2.2.0.RC2","2.2.0.RC1"],"description":"Java framework designed for creating Enterprise Rich Web Applications"},{"artifactId":"tesler-workflow-archetype","groupId":"io.tesler","versions":["2.3.0","2.2.0","2.1.1","2.1.0","2.0.3","2.0.2","2.0.1","2.0.0","1.0.4","1.0.3","1.0.2","1.0.1","1.0","2.3.0.RC4","2.3.0.RC3","2.3.0.RC2","2.3.0.RC1","2.2.0.RC2","2.2.0.RC1"],"description":"Java framework designed for creating Enterprise Rich Web Applications"},{"artifactId":"webdriver-cucumber-archetype","groupId":"io.testsmith","versions":["0.1"],"description":"Generates a basic skeleton project with Selenium WebDriver, Cucumber and Allure"},{"artifactId":"webdriver-testng-archetype","groupId":"io.testsmith","versions":["1.4.4","1.4.3","1.4.2","1.4.1","1.4.0","0.22","0.21","0.19","0.18","0.17","0.16","0.15","0.14","0.13","0.12","0.11","0.10","0.9","0.8","0.6","0.5","0.4","0.3","0.2","0.1"],"description":"Generates a basic skeleton project with Selenium WebDriver, WebDrivermanager, TestNG and Allure"},{"artifactId":"tiler-maven-archetype","groupId":"io.tiler","versions":["0.1.3","0.1.2","0.1.1","0.1.0"],"description":"The Maven archetype for Tiler-based dashboards"},{"artifactId":"annotationprocessor-archetype","groupId":"io.toolisticon.maven.archetypes","versions":["0.8.0","0.7.0","0.6.0","0.5.0","0.4.0","0.3.0","0.2.0","0.1.0"],"description":"Please refer to https://github.com/toolisticon/annotationprocessor-archetype"},{"artifactId":"vertx-maven-archetype","groupId":"io.vertx","versions":["2.0.12-final","2.0.11-final","2.0.10-final","2.0.9-final","2.0.8-final","2.0.7-final","2.0.6-final","2.0.5-final","2.0.4-final","2.0.3-final","2.0.2-final","2.0.1-final","2.0.0-final","1.0.0-beta3","1.0.0-beta2","1.0.0-beta1","1.0.0-CR2","1.0.0-CR1"]},{"artifactId":"minium-cucumber-archetype","groupId":"io.vilt.minium","versions":["1.0.1","1.0.0","1.0.0-RC4","1.0.0-RC1"]},{"artifactId":"io.wcm.maven.archetypes.aem","groupId":"io.wcm.maven.archetypes","versions":["3.7.0","3.6.6","3.6.4","3.6.2","3.6.0","3.5.2","3.5.0","3.4.0","3.3.4","3.3.2","3.3.0","3.2.6","3.2.4","3.2.2","3.2.0","3.1.0","3.0.0","2.4.8","2.4.6","2.4.4","2.4.2","2.4.0","2.3.0","2.2.0","2.1.4","2.1.2","2.1.0","2.0.8","2.0.6","2.0.4","2.0.2","2.0.0","1.1.2","1.1.0","1.0.4","1.0.2","1.0.0"],"description":"Maven Archetype for creating new AEM projects."},{"artifactId":"io.wcm.maven.archetypes.aem-confmgmt","groupId":"io.wcm.maven.archetypes","versions":["1.3.0","1.2.6","1.2.4","1.2.2","1.2.0","1.1.0","1.0.16","1.0.14","1.0.12","1.0.10","1.0.8","1.0.6","1.0.4","1.0.2","1.0.0"],"description":"Maven Archetype for creating infrastructure deployment and configuration management projects for AEM."},{"artifactId":"io.wcm.qa.galenium.archetype","groupId":"io.wcm.qa","versions":["4.0.0","3.0.0","2.0.0","1.0.0","0.1.22","0.1.20"]},{"artifactId":"babel-camel-archetype","groupId":"io.xtech.babel","versions":["0.6.0"],"description":"Maven Archetype for Babel"},{"artifactId":"yawp","groupId":"io.yawp","versions":["1.6.19","1.6.18","1.6.17","1.6.16","1.6.15","1.6.14","1.6.13","1.6.12","1.6.11","1.6.10","1.6.9","1.6.8","1.6.7","1.6.6","1.6.5","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.5.12","1.5.11","1.5.10","1.5.9","1.5.8","1.5.7","1.5.6","1.5.5","1.5.4","1.5.3","1.5.2","1.5.1","1.5.0","1.4.2","1.4.1","1.4.0","1.3.18","1.3.17","1.3.16","1.3.15","1.3.14","1.3.13","1.3.12","1.3.11","1.3.10","1.3.9","1.3.8","1.3.7","1.3.6","1.3.5","1.3.4","1.3.3","1.3.2","1.3.1","1.3","1.2.9","1.2.8","1.2.7","1.2.6","1.2.5","1.2.4","1.2.3","1.2.2","1.2.1","1.2","1.1","1.0","2.08alpha","2.0.7alpha","2.0.6alpha","2.0.5alpha","2.0.4alpha","2.0.3alpha","2.0.0alpha"],"description":"YAWP! appengine"},{"artifactId":"zahori-process-archetype","groupId":"io.zahori","versions":["1.0.13","1.0.12","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Process generator archetype for Zahori.io"},{"artifactId":"javate-zk-archetype","groupId":"it.amattioli","versions":["1.0.7"]},{"artifactId":"javate-zk-jpa-archetype","groupId":"it.amattioli","versions":["1.0.7"]},{"artifactId":"javate-zk-archetype","groupId":"it.amattioli.archetypes","versions":["0.7","0.6","0.5.1"],"description":"Archetype for a JavATE project that uses Hibernate and ZK."},{"artifactId":"r-maven-plugin","groupId":"it.bancaditalia.oss","versions":["1.0.0"],"description":"This plugin brings into Maven the lifecycle of an R package.\n\t\tIt builds onto the existing R installation to perform build, check, etc.\n\t\tIt provides means to complete a DESCRIPTION file with version, etc.\n\t\tIn the future, It will allow to deploy the project to CRAN as well as a Maven artifact repository."},{"artifactId":"jsf2-spring4-jpa2-archetype","groupId":"it.cosenonjaviste","versions":["2.0.0","1.0.4","1.0.3","1.0.2"],"description":"This archetype is based on org.fluttercode.knappsack/spring-jsf-jpa-archetype/1.1 one.\nThis new archetype upgrade libraries to JSF 2.2, Spring 4 and JPA 2.1"},{"artifactId":"module-archetype","groupId":"it.solutionsexmachina","versions":["1.1","1.0"],"description":"Archetype to generate module to be used with genericdao and webcontroller"},{"artifactId":"webapplication-archetype","groupId":"it.solutionsexmachina","versions":["1.1","1.0"],"description":"Archetype to generate module to be used with genericdao and webcontroller"},{"artifactId":"netbeans-platform-application-archetype","groupId":"it.tidalwave.netbeans","versions":["1.6","1.5"],"description":"Tidalwave NetBeans Platform Application Archetype"},{"artifactId":"netbeans-platform-archetype","groupId":"it.tidalwave.netbeans","versions":["1.4","1.3","1.2","1.1","1.0"],"description":"Tidalwave NetBeans Platform Archetype"},{"artifactId":"simple-project-site-archetype-1","groupId":"it.tidalwave.northernwind","versions":["1.11","1.10","1.9","1.8","1.7","1.6","1.5","1.4","1.3","1.2","1.1","1.0"]},{"artifactId":"simple-site1-step1-archetype","groupId":"it.tidalwave.northernwind","versions":["1.11","1.10","1.9","1.8","1.2","1.1","1.0"]},{"artifactId":"project-archetype","groupId":"it.tidalwave.thesefoolishthings","versions":["3.2-ALPHA-9","3.2-ALPHA-8","3.2-ALPHA-7","3.2-ALPHA-6","3.2-ALPHA-5","3.2-ALPHA-4","3.2-ALPHA-2","3.2-ALPHA-1","3.2-ALPHA-18","3.2-ALPHA-17","3.2-ALPHA-16","3.2-ALPHA-15","3.2-ALPHA-14","3.2-ALPHA-13","3.2-ALPHA-12","3.2-ALPHA-11","3.2-ALPHA-10","3.1-ALPHA-7","3.1-ALPHA-6","3.1-ALPHA-5","3.1-ALPHA-4","3.1-ALPHA-3","3.1-ALPHA-2","3.1-ALPHA-1","3.0.3","3.0.2","3.0","3.0-BETA-1","3.0-ALPHA-2","3.0-ALPHA-1","2.6","2.5","2.4","2.3","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.6","1.0.5","1.0.4","1.0.2","1.0.1","1.0.0"],"description":"TheseFoolishThings - Project Archetype"},{"artifactId":"coda-converter-archetype","groupId":"it.uniroma2.art.coda","versions":["1.7.6","1.7.5","1.7.4","1.7.3","1.7.2","1.7.1","1.7.0","1.6.3","1.6.2","1.6.1","1.6","1.5","1.4","1.3"],"description":"A Maven Archetype for the generation of a Maven project for a new converter. This archetype can be used either in combination with the Maven command line (utilizing the goal archetype:generate) or inside any IDE suitably integrated with Maven."},{"artifactId":"javax.faces-war-archetype","groupId":"javax.faces","versions":["2.2","2.2-m12","2.1"],"description":"A simple project with war packaging that depends on JSF 2.2 and \n javaee 6, in that order."},{"artifactId":"mobicents-ra-archetype","groupId":"jboss","versions":["1.0-alpha-6"],"description":"An archetype for slee resource adaptor."},{"artifactId":"mobicents-ra-mavenization-archetype","groupId":"jboss","versions":["1.0-alpha-4","1.0-alpha-3"],"description":"An archetype for slee resource adaptor mavenization."},{"artifactId":"spring-bootstrapping-archetype","groupId":"jp.blackawa","versions":["1.0.0"],"description":"Bootstrap Spring Boot project with Spring Security Database Authentication/Authorization."},{"artifactId":"jakartaee-quickstart-archetype","groupId":"jp.coppermine","versions":["8.0.1","8.0.0","1.0.0"],"description":"Jakarta EE quick start template with Jakarta Server Faces and Jakarta RESTful Web Services"},{"artifactId":"li.strolch.mvn.archetype.main","groupId":"li.strolch","versions":["1.6.100"]},{"artifactId":"li.strolch.mvn.archetype.webapp","groupId":"li.strolch","versions":["1.6.100"]},{"artifactId":"cucumber-java-junit-archetype","groupId":"me.alb-i986","versions":["1.2.2"],"description":"Maven Archetype for creating cucumber projects, featuring Java and JUnit"},{"artifactId":"cucumber-java-junit-archetype","groupId":"me.alb-i986.cucumber","versions":["1.2.4","1.2.2"],"description":"Maven Archetype for creating cucumber projects, featuring Java and JUnit"},{"artifactId":"selenium-tinafw-archetype","groupId":"me.alb-i986.selenium","versions":["1.0.1","1.0"],"description":"Archetype for creating Selenium projects that rely on selenium-tinafw, a Selenium framework"},{"artifactId":"avans-setup","groupId":"me.geso.avans","versions":["2.6.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.1","2.1.0","2.0.2","2.0.1","2.0.0","1.15.3","1.15.2","1.15.1","1.15.0","1.14.0","1.13.0","1.12.1","1.12.0","1.11.0","1.10.0","1.9.0","1.8.0","1.7.0","1.6.0","1.5.4","1.5.3","1.5.1","1.5.0","1.4.0","1.3.0","1.2.0","1.1.0","1.0.0","0.40.0","0.39.0","0.38.0"],"description":"avans-setup"},{"artifactId":"wicket-spring-boilerplate","groupId":"me.limone","versions":["1.0"]},{"artifactId":"tobacco-bootstrap","groupId":"me.noroutine","versions":["1.0.15","1.0.14","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.3","1.0.2","1.0.1"],"description":"Web Application with all modern client libraries"},{"artifactId":"java8-jersey2-guice4-webapp-archetype","groupId":"me.thingle.archetypes","versions":["1.1.0","1.0.0"],"description":"A java 8, servlet 3.1 webapp with jersey 2 and guice 4"},{"artifactId":"quickstart","groupId":"me.xethh.archetype","versions":["1.3","1.2","1.1-RELEASE","1.0-RELEASE"],"description":"Base archetype of xethh libs"},{"artifactId":"quickstart-akka-actor-lib","groupId":"me.xethh.archetype.quickstart","versions":["1.3"],"description":"Base archetype of xethh libs"},{"artifactId":"quickstart-lib","groupId":"me.xethh.archetype.quickstart","versions":["1.3","1.1","1.0-RELEASE"],"description":"Base archetype of xethh libs"},{"artifactId":"quickstart-scala-app","groupId":"me.xethh.archetype.quickstart","versions":["1.3","1.2","1.1-RELEASE","1.0-RELEASE"],"description":"Base archetype of xethh libs"},{"artifactId":"springmvc-spring-hibernate","groupId":"ml.rugal.archetype","versions":["1.0","0.7","0.6","0.5","0.4","0.3","0.2","0.1"],"description":"A pretty useful JavaEE application archetype based on springmvc spring and hibernate"},{"artifactId":"springmvc-spring-mongodb","groupId":"ml.rugal.archetype","versions":["0.1"],"description":"An archetype based on springmvc spring and MongoDB"},{"artifactId":"springmvc-spring-mybatis","groupId":"ml.rugal.archetype","versions":["0.1"],"description":"A pretty useful JavaEE application archetype based on Springmvc Spring and Mybatis"},{"artifactId":"scala-archetype-simple","groupId":"net.alchim31.maven","versions":["1.7","1.6","1.5","1.4"],"description":"The maven-scala-plugin is used for compiling/testing/running/documenting scala code in maven."},{"artifactId":"basic","groupId":"net.automatalib.archetypes","versions":["0.10.0","0.9.0","0.8.0","0.7.1","0.7.0"],"description":"The basic archetype, which provides preconfigured dependencies for the basic usage of AutomataLib."},{"artifactId":"complete","groupId":"net.automatalib.archetypes","versions":["0.10.0","0.9.0","0.8.0","0.7.1","0.7.0","0.6.0","0.5.2","0.5.1","0.4.1","0.4.0","0.3.1","0.3.1-ase2013-tutorial","0.3.1-ase2013-tutorial-r1","0.3.0"],"description":"The complete archetype, which provides preconfigured dependencies on all artifacts of AutomataLib."},{"artifactId":"core","groupId":"net.automatalib.archetypes","versions":["0.6.0","0.5.2","0.5.1","0.4.1","0.4.0","0.3.1","0.3.1-ase2013-tutorial","0.3.1-ase2013-tutorial-r1","0.3.0"]},{"artifactId":"typical","groupId":"net.automatalib.archetypes","versions":["0.6.0","0.5.2","0.5.1","0.4.1","0.4.0","0.3.1","0.3.1-ase2013-tutorial","0.3.1-ase2013-tutorial-r1","0.3.0"]},{"artifactId":"java-1.6-archetype","groupId":"net.avh4.mvn.archetype","versions":["0.0.3","0.0.2","0.0.1"],"description":"Maven 2 archtype for Java 1.6 projects"},{"artifactId":"maven-embedded-neo4j-archetype","groupId":"net.biville.florent","versions":["1.0"]},{"artifactId":"quickstart","groupId":"net.code-story","versions":["1.0"]},{"artifactId":"base-framework-archetype","groupId":"net.coding.chenxiaobo","versions":["1.0.0.RELEASE"],"description":"base-framework is a authority management system of java web framework, the framework ased on spring, mybatis, spring mvc, apache shiro"},{"artifactId":"cnamliban-pojo-archetype","groupId":"net.cofares.ljug","versions":["1.3","1.2","1.1","1.0"],"description":"An archetype for ISSAE Cnam Liban students for POJO projects.\n Pre-requisite \n 1- Must define gpg key for signing jar gpg --gen-key\n 2- You could olso publish your key gpg- keyserver ___ --send-key ____"},{"artifactId":"ljug-quickstart-archetype","groupId":"net.cofares.ljug","versions":["1.2","1.1","1.0"],"description":"The maven quickstart archetype adapted for the error with surfire"},{"artifactId":"web-quickstart","groupId":"net.contextfw","versions":["0.8.5","0.8.4","0.8.3","0.8.2","0.8.1","0.8.0","0.7.1","0.7.0","0.6.2","0.6.1","0.6.0","0.5.1","0.5.0"],"description":"Context Web Application Framework - Quickstart"},{"artifactId":"data-app","groupId":"net.databinder","versions":["1.0","0.9","0.8","0.7","0.6","0.5","0.4","0.3","0.2","0.1"],"description":"To make creating a new Databinder application easier, this archetype includes all required sources and resources."},{"artifactId":"data-app","groupId":"net.databinder.maven.net.databinder","versions":["0.9","0.8","0.7","0.6","0.5","0.4","0.3","0.2","0.1"],"description":"To make creating a new Databinder application easier, this archetype includes all required sources and resources."},{"artifactId":"solr-quickstart-archetype","groupId":"net.devonlinux.solr","versions":["0.4"]},{"artifactId":"solr-quickstart-archetype-no-acceptance-tests","groupId":"net.devonlinux.solr","versions":["0.4"]},{"artifactId":"java-bones","groupId":"net.digital-alexandria","versions":["0.2","0.1"],"description":"A maven-archetype for a basic Java scaffold that is hosted on\n github"},{"artifactId":"flexmojos-archetypes-application","groupId":"net.flexmojos.oss","versions":["7.1.1","7.1.0","7.0.1","7.0.0","6.0.1","6.0.0","5.0-beta"]},{"artifactId":"flexmojos-archetypes-library","groupId":"net.flexmojos.oss","versions":["7.1.1","7.1.0","7.0.1","7.0.0","6.0.1","6.0.0","5.0-beta"]},{"artifactId":"flexmojos-archetypes-mobile-application","groupId":"net.flexmojos.oss","versions":["7.1.1","7.1.0"]},{"artifactId":"flexmojos-archetypes-modular-webapp","groupId":"net.flexmojos.oss","versions":["7.1.1","7.1.0","7.0.1","7.0.0","6.0.1","6.0.0","5.0-beta"]},{"artifactId":"jakartaee-mp-archetype","groupId":"net.hassannazar","versions":["1.4.0","1.3.0","1.2.0","1.1.0","1.0.1","1.0.0"],"description":"A starter archetype for a ThinWar project using Jakarta EE and MicroProfile, without any sketchy parent-pom's."},{"artifactId":"imagej-command-archetype","groupId":"net.imagej","versions":["0.0.1"],"description":"ImageJ Command Archetype: an Apache Maven archetype for ImageJ2 Commands."},{"artifactId":"bukkit-plugin-simple","groupId":"net.ja731j.bukkit","versions":["1.0.1","1.0.0"],"description":"A Maven archetype which creates a simple Bukkit plugin"},{"artifactId":"scala-archetype","groupId":"net.jackadull","versions":["0.3.0","0.2.0","0.1.0"],"description":"Scala archetype, to be used only for Jackadull projects."},{"artifactId":"truelicense-maven-archetype","groupId":"net.java.truelicense","versions":["2.6.6","2.6.5","2.6.4","2.6.3","2.6.2","2.6.1","2.6.0","2.5.0","2.4.1","2.4","2.3.4","2.3.3","2.3.2","2.3.1","2.3","2.2.2","2.2.1","2.2","2.1.1","2.1","2.0","2.0-rc9","2.0-rc8","2.0-rc7","2.0-rc6","2.0-rc5","2.0-rc4","2.0-rc3","2.0-rc2","2.0-rc1","2.0-rc16","2.0-rc15","2.0-rc14","2.0-rc13","2.0-rc12","2.0-rc11","2.0-rc10"],"description":"The TrueLicense Maven Archetype is a turn-key solution for designing\n and implementing a custom licensing schema for your software product.\n The archetype generates a tailor-made project which is composed of\n ready-made modules for vending and consuming license keys.\n The modules contain code templates which you can easily customize\n without writing code by configuring a set of properties."},{"artifactId":"trueupdate-archetype-glassfish","groupId":"net.java.trueupdate","versions":["0.8.1","0.8","0.7.1","0.7","0.6","0.5"],"description":"An archetype for a TrueUpdate application running in Oracle GlassFish."},{"artifactId":"trueupdate-archetype-tomcat","groupId":"net.java.trueupdate","versions":["0.8.1","0.8","0.7.1","0.7","0.6","0.5","0.4","0.3","0.2"],"description":"An archetype for a TrueUpdate application running in Apache Tomcat."},{"artifactId":"truevfs-archetype-access","groupId":"net.java.truevfs","versions":["0.12.1","0.12.0","0.11.1","0.11.0","0.10.9","0.10.8","0.10.7","0.10.6","0.10.5","0.10.4","0.10.3","0.10.2","0.10.1","0.10","0.9.3","0.9.2","0.9.1","0.9"],"description":"Showcases the client API of the module TrueVFS Access."},{"artifactId":"truevfs-archetype-profile","groupId":"net.java.truevfs","versions":["0.12.1","0.12.0","0.11.1","0.11.0","0.10.9","0.10.8","0.10.7","0.10.6","0.10.5","0.10.4","0.10.3","0.10.2","0.10.1","0.10"],"description":"Creates a custom TrueVFS Profile which bundles all selected TrueVFS modules for ease of use."},{"artifactId":"quarkus-multi-module-archetype","groupId":"net.kemitix","versions":["0.1.1","0.1.0"]},{"artifactId":"gae-archetype-gwt","groupId":"net.kindleit","versions":["0.9.6","0.9.5","0.9.4","0.9.3","0.9.2","0.9.1","0.9.0","0.8.4","0.8.3","0.8.2","0.8.1","0.8.0","0.7.3","0.7.2","0.7.1","0.7.0"],"description":"Archetype for creating maven-gae projects that uses GWT for the view"},{"artifactId":"gae-archetype-jsf","groupId":"net.kindleit","versions":["0.9.6","0.9.5","0.9.4","0.9.3","0.9.2","0.9.1","0.9.0","0.8.4","0.8.3","0.8.2","0.8.1","0.8.0","0.7.3","0.7.2"],"description":"Archetype for creating maven-gae projects that works under Java Server Faces"},{"artifactId":"gae-archetype-jsp","groupId":"net.kindleit","versions":["0.9.6","0.9.5","0.9.4","0.9.3","0.9.2","0.9.1","0.9.0","0.8.4","0.8.3","0.8.2","0.8.1","0.8.0","0.7.3","0.7.2","0.7.1","0.7.0"],"description":"Archetype for creating maven-gae projects that uses jsp for the view"},{"artifactId":"gae-archetype-objectify-jsp","groupId":"net.kindleit","versions":["0.9.6","0.9.5","0.9.4","0.9.3","0.9.2","0.9.1","0.9.0","0.8.4","0.8.3","0.8.2","0.8.1","0.8.0","0.7.3"],"description":"Archetype for creating maven-gae projects that uses jsp for the view and Objectify for the ORM."},{"artifactId":"gae-archetype-wicket","groupId":"net.kindleit","versions":["0.9.6","0.9.5","0.9.4","0.9.3","0.9.2","0.9.1","0.9.0","0.8.4","0.8.3","0.8.2","0.8.1","0.8.0","0.7.3","0.7.2","0.7.1","0.7.0"],"description":"Archetype for creating maven-gae projects based on apache wicket framework"},{"artifactId":"scala-javafx-archetype","groupId":"net.ladstatt","versions":["0.1"],"description":"The Scala JavaFX Archetype provides a simple template for a scala based \n\tJavaFX project"},{"artifactId":"lift-archetype-basic","groupId":"net.liftweb","versions":["2.0","2.0-RC2","2.0-RC1","2.0-M5","2.0-M4","2.0-M3","2.0-M2","2.0-M1","1.1-M8","1.1-M7","1.1-M6","1.1-M5","1.1-M4","1.1-M3","1.1-M1","1.0.3","1.0.2","1.0.1","1.0","0.10","0.9","0.8","0.7.1","0.7","0.6","0.5","0.4.1","0.4"],"description":"Basic project archetype for Lift Web Framework (with database, logging, user management)."},{"artifactId":"lift-archetype-basic_2.10","groupId":"net.liftweb","versions":["2.5"],"description":"Basic project archetype for Lift Web Framework (with database, logging, user management)."},{"artifactId":"lift-archetype-basic_2.7.7","groupId":"net.liftweb","versions":["2.2","2.2-RC6","2.2-RC5","2.2-RC4","2.2-RC3","2.2-RC2","2.2-M1","2.1","2.1-RC3","2.1-RC2","2.1-RC1","2.1-M1"],"description":"Basic project archetype for Lift Web Framework (with database, logging, user management)."},{"artifactId":"lift-archetype-basic_2.8.0","groupId":"net.liftweb","versions":["2.2","2.2-RC6","2.2-RC5","2.2-RC4","2.2-RC3","2.2-RC2","2.2-RC1","2.2-M1","2.1","2.1-RC3","2.1-RC2","2.1-RC1","2.1-M1"],"description":"Basic project archetype for Lift Web Framework (with database, logging, user management)."},{"artifactId":"lift-archetype-basic_2.8.1","groupId":"net.liftweb","versions":["2.3","2.3-M1","2.2","2.2-RC6","2.2-RC5","2.2-RC4","2.2-RC3","2.2-RC2","2.2-RC1"],"description":"Basic project archetype for Lift Web Framework (with database, logging, user management)."},{"artifactId":"lift-archetype-basic_2.9.1","groupId":"net.liftweb","versions":["2.5","2.4-M5","2.4-M4"],"description":"Basic project archetype for Lift Web Framework (with database, logging, user management)."},{"artifactId":"lift-archetype-blank","groupId":"net.liftweb","versions":["2.0","2.0-RC2","2.0-RC1","2.0-M5","2.0-M4","2.0-M3","2.0-M2","2.0-M1","1.1-M8","1.1-M7","1.1-M6","1.1-M5","1.1-M4","1.1-M3","1.1-M1","1.0.3","1.0.2","1.0.1","1.0","0.10","0.9","0.8","0.7.1","0.7","0.6","0.5","0.4","0.3.0"],"description":"Blank project archetype for Lift Web Framework."},{"artifactId":"lift-archetype-blank_2.10","groupId":"net.liftweb","versions":["2.5"],"description":"Blank project archetype for Lift Web Framework."},{"artifactId":"lift-archetype-blank_2.7.7","groupId":"net.liftweb","versions":["2.2","2.2-RC6","2.2-RC5","2.2-RC4","2.2-RC3","2.2-RC2","2.2-M1","2.1","2.1-RC3","2.1-RC2","2.1-RC1","2.1-M1"],"description":"Blank project archetype for Lift Web Framework."},{"artifactId":"lift-archetype-blank_2.8.0","groupId":"net.liftweb","versions":["2.2","2.2-RC6","2.2-RC5","2.2-RC4","2.2-RC3","2.2-RC2","2.2-RC1","2.2-M1","2.1","2.1-RC3","2.1-RC2","2.1-RC1","2.1-M1"],"description":"Blank project archetype for Lift Web Framework."},{"artifactId":"lift-archetype-blank_2.8.1","groupId":"net.liftweb","versions":["2.3","2.3-M1","2.2","2.2-RC6","2.2-RC5","2.2-RC4","2.2-RC3","2.2-RC2","2.2-RC1"],"description":"Blank project archetype for Lift Web Framework."},{"artifactId":"lift-archetype-blank_2.9.1","groupId":"net.liftweb","versions":["2.5","2.4-M5","2.4-M4"],"description":"Blank project archetype for Lift Web Framework."},{"artifactId":"lift-archetype-hellolift","groupId":"net.liftweb","versions":["0.3.0"],"description":"Archetype - hellolift, a sample Lift application"},{"artifactId":"lift-archetype-jpa-basic","groupId":"net.liftweb","versions":["2.0","2.0-RC2","2.0-RC1","2.0-M5","2.0-M4","2.0-M3","2.0-M2","2.0-M1","1.1-M8","1.1-M7","1.1-M6","1.1-M5","1.1-M4","1.1-M3","1.1-M1"],"description":"Basic JPA archetype for Lift Web Framework."},{"artifactId":"lift-archetype-jpa-basic_2.10","groupId":"net.liftweb","versions":["2.5"],"description":"Basic JPA archetype for Lift Web Framework."},{"artifactId":"lift-archetype-jpa-basic_2.7.7","groupId":"net.liftweb","versions":["2.2","2.2-RC6","2.2-RC5","2.2-RC4","2.2-RC3","2.2-RC2","2.2-M1","2.1","2.1-RC3","2.1-RC2","2.1-RC1","2.1-M1"],"description":"Basic JPA archetype for Lift Web Framework."},{"artifactId":"lift-archetype-jpa-basic_2.8.0","groupId":"net.liftweb","versions":["2.2","2.2-RC6","2.2-RC5","2.2-RC4","2.2-RC3","2.2-RC2","2.2-RC1","2.2-M1","2.1","2.1-RC3","2.1-RC2","2.1-RC1","2.1-M1"],"description":"Basic JPA archetype for Lift Web Framework."},{"artifactId":"lift-archetype-jpa-basic_2.8.1","groupId":"net.liftweb","versions":["2.3","2.3-M1","2.2","2.2-RC6","2.2-RC5","2.2-RC4","2.2-RC3","2.2-RC2","2.2-RC1"],"description":"Basic JPA archetype for Lift Web Framework."},{"artifactId":"lift-archetype-jpa-basic_2.9.1","groupId":"net.liftweb","versions":["2.5","2.4-M5","2.4-M4"],"description":"Basic JPA archetype for Lift Web Framework."},{"artifactId":"lift-archetype-jpa-blank","groupId":"net.liftweb","versions":["2.0","2.0-RC2","2.0-RC1","2.0-M5","2.0-M4","2.0-M3","2.0-M2","2.0-M1","1.1-M8","1.1-M7","1.1-M6","1.1-M5","1.1-M4","1.1-M3","1.1-M1"],"description":"Blank JPA archetype for Lift Web Framework."},{"artifactId":"lift-archetype-jpa-blank-single","groupId":"net.liftweb","versions":["2.0","2.0-RC2","2.0-RC1","2.0-M5","2.0-M4","2.0-M3","2.0-M2","2.0-M1","1.1-M8","1.1-M7","1.1-M6","1.1-M5","1.1-M4","1.1-M3","1.1-M1"],"description":"Blank JPA archetype for Lift Web Framework (single project)."},{"artifactId":"lift-archetype-jpa-blank-single_2.10","groupId":"net.liftweb","versions":["2.5"],"description":"Blank JPA archetype for Lift Web Framework (single project)."},{"artifactId":"lift-archetype-jpa-blank-single_2.7.7","groupId":"net.liftweb","versions":["2.2","2.2-RC6","2.2-RC5","2.2-RC4","2.2-RC3","2.2-RC2","2.2-M1","2.1","2.1-RC3","2.1-RC2","2.1-RC1","2.1-M1"],"description":"Blank JPA archetype for Lift Web Framework (single project)."},{"artifactId":"lift-archetype-jpa-blank-single_2.8.0","groupId":"net.liftweb","versions":["2.2","2.2-RC6","2.2-RC5","2.2-RC4","2.2-RC3","2.2-RC2","2.2-RC1","2.2-M1","2.1","2.1-RC3","2.1-RC2","2.1-RC1","2.1-M1"],"description":"Blank JPA archetype for Lift Web Framework (single project)."},{"artifactId":"lift-archetype-jpa-blank-single_2.8.1","groupId":"net.liftweb","versions":["2.3","2.3-M1","2.2","2.2-RC6","2.2-RC5","2.2-RC4","2.2-RC3","2.2-RC2","2.2-RC1"],"description":"Blank JPA archetype for Lift Web Framework (single project)."},{"artifactId":"lift-archetype-jpa-blank-single_2.9.1","groupId":"net.liftweb","versions":["2.5","2.4-M5","2.4-M4"],"description":"Blank JPA archetype for Lift Web Framework (single project)."},{"artifactId":"lift-archetype-jpa-blank_2.10","groupId":"net.liftweb","versions":["2.5"],"description":"Blank JPA archetype for Lift Web Framework."},{"artifactId":"lift-archetype-jpa-blank_2.7.7","groupId":"net.liftweb","versions":["2.2","2.2-RC6","2.2-RC5","2.2-RC4","2.2-RC3","2.2-RC2","2.2-M1","2.1","2.1-RC3","2.1-RC2","2.1-RC1","2.1-M1"],"description":"Blank JPA archetype for Lift Web Framework."},{"artifactId":"lift-archetype-jpa-blank_2.8.0","groupId":"net.liftweb","versions":["2.2","2.2-RC6","2.2-RC5","2.2-RC4","2.2-RC3","2.2-RC2","2.2-RC1","2.2-M1","2.1","2.1-RC3","2.1-RC2","2.1-RC1","2.1-M1"],"description":"Blank JPA archetype for Lift Web Framework."},{"artifactId":"lift-archetype-jpa-blank_2.8.1","groupId":"net.liftweb","versions":["2.3","2.3-M1","2.2","2.2-RC6","2.2-RC5","2.2-RC4","2.2-RC3","2.2-RC2","2.2-RC1"],"description":"Blank JPA archetype for Lift Web Framework."},{"artifactId":"lift-archetype-jpa-blank_2.9.1","groupId":"net.liftweb","versions":["2.5","2.4-M5","2.4-M4"],"description":"Blank JPA archetype for Lift Web Framework."},{"artifactId":"lift-archetype-mvc_2.10","groupId":"net.liftweb","versions":["2.5"],"description":"Minimal MVC based project archetype for Lift Web Framework."},{"artifactId":"lift-archetype-mvc_2.9.1","groupId":"net.liftweb","versions":["2.5"],"description":"Minimal MVC based project archetype for Lift Web Framework."},{"artifactId":"lift-archetype-sbt","groupId":"net.liftweb","versions":["2.0","2.0-RC2","2.0-RC1"],"description":"Basic project archetype for Lift Web Framework (with database, logging, user management) using the sbt build system"},{"artifactId":"lift-archetype-sbt_2.7.7","groupId":"net.liftweb","versions":["2.2","2.2-RC6","2.2-RC5","2.2-RC4","2.2-RC3","2.2-RC2","2.2-M1","2.1","2.1-RC3","2.1-RC2","2.1-RC1","2.1-M1"],"description":"Basic project archetype for Lift Web Framework (with database, logging, user management) using the sbt build system"},{"artifactId":"lift-archetype-sbt_2.8.0","groupId":"net.liftweb","versions":["2.2","2.2-RC6","2.2-RC5","2.2-RC4","2.2-RC3","2.2-RC2","2.2-RC1","2.2-M1","2.1","2.1-RC3","2.1-RC2","2.1-RC1","2.1-M1"],"description":"Basic project archetype for Lift Web Framework (with database, logging, user management) using the sbt build system"},{"artifactId":"lift-archetype-sbt_2.8.1","groupId":"net.liftweb","versions":["2.3","2.3-M1","2.2","2.2-RC6","2.2-RC5","2.2-RC4","2.2-RC3","2.2-RC2","2.2-RC1"],"description":"Basic project archetype for Lift Web Framework (with database, logging, user management) using the sbt build system"},{"artifactId":"lift-archetype-sbt_2.9.1","groupId":"net.liftweb","versions":["2.4-M5","2.4-M4"],"description":"Basic project archetype for Lift Web Framework (with database, logging, user management) using the sbt build system"},{"artifactId":"dagger-guice-rf-activities","groupId":"net.ltgt.gwt.archetypes","versions":["2023.3.4","2022.4.28","2021.1.18","2021.1.17","2020.5.17","2019.2.26","2018.5.2","2018.4.29","2018.1.15","2017.10.20","2017.7.9"],"description":"GWT application with user authentication, using Dagger and Places/Activities on client side, Guice on server side, RequestFactory for communication."},{"artifactId":"modular-requestfactory","groupId":"net.ltgt.gwt.archetypes","versions":["2023.3.4","2022.4.28","2021.1.18","2021.1.17","2020.5.17","2018.5.2","2018.4.29","2018.1.15","2017.10.20","2017.7.9"],"description":"The GWT WebAppCreator's sample, modularized and using RequestFactory."},{"artifactId":"modular-webapp","groupId":"net.ltgt.gwt.archetypes","versions":["2023.3.4","2022.4.28","2021.1.18","2021.1.17","2020.5.17","2018.5.2","2018.4.29","2018.1.15","2017.10.20","2017.7.9"],"description":"The GWT WebAppCreator's sample (using GWT-RPC), modularized."},{"artifactId":"modelant.repository.maven.archetype","groupId":"net.mdatools","versions":["3.3.0"],"description":"An archetype to build a API to access metamodel instances\n The metamodel should be written in MOF 1.4, XMI 1.1 or XMI 1.2, as of JMI (JCR-40).\n \n The archetype requires providing parent project's Group, Artifact and Version.\n When other than the default values are provided, then the generated POM will \n include a corresponding section.\n \n The generated project uses the NetBeans MDR."},{"artifactId":"modelant.template.maven.archetype","groupId":"net.mdatools","versions":["3.3.0"],"description":"Archetype for building the default templates structure for ModelAnt Template Engine\n for a metamodel, written in MOF 1.4, XMI 1.1 or XMI 1.2, as of JMI (JCR-40).\n \n When other than the default values are provided, then the generated POM will \n include a corresponding section."},{"artifactId":"nuls-smartcontract-archetype","groupId":"net.mimieye","versions":["0.1"]},{"artifactId":"kotlin-archetype","groupId":"net.miob.maven","versions":["1.0"],"description":"A maven quick start archetype for kotlin projects."},{"artifactId":"woof-archetype","groupId":"net.officefloor.maven","versions":["3.40.0","3.39.0","3.38.0","3.37.0","3.36.0","3.35.0","3.34.0","3.33.0","3.32.0","3.31.0","3.30.2","3.30.0","3.29.0","3.28.2","3.28.1","3.28.0","3.27.0","3.26.0","3.25.0","3.24.0","3.23.0","3.22.0","3.21.0","3.20.0","3.19.0","3.18.0","3.17.0","3.16.0","3.15.0","3.14.0","3.13.0","3.12.0","3.11.0","3.10.3","3.10.2","3.10.1","3.10.0","3.9.2","3.9.1","3.9.0","3.8.0","3.7.0","3.6.2","3.6.1","3.6.0","3.5.1","3.5.0","3.4.0","3.3.0","3.2.0","3.1.0","3.0.0","2.18.0","2.16.0","2.15.0","2.14.0","2.13.0","2.12.0","2.11.0","2.10.0","2.9.0","2.8.0","2.7.0","2.6.0","2.5.0","2.4.0","2.3.0"],"description":"Archetype to generate a WoOF project"},{"artifactId":"net.osgiliath.archetype.business","groupId":"net.osgiliath.archetypes","versions":["0.3.7","0.3.6","0.3.4","0.3.3","0.3.2","0.3.1","0.0.3","0.0.2","0.0.1"],"description":"Must be behind an Osgiliath parent archetype, business processing of data"},{"artifactId":"net.osgiliath.archetype.business.blueprint","groupId":"net.osgiliath.archetypes","versions":["0.2.3","0.2.2","0.2.1","0.2.0","0.1.8","0.1.7","0.1.6","0.1.5","0.1.4","0.1.3","0.1.2","0.1.1","0.1.0","0.0.7","0.0.6","0.0.5","0.0.4"],"description":"Must be behind an Osgiliath parent archetype, business processing of data"},{"artifactId":"net.osgiliath.archetype.business.cdi","groupId":"net.osgiliath.archetypes","versions":["0.2.3","0.2.2","0.2.1","0.2.0","0.1.8","0.1.7","0.1.6","0.1.5","0.1.4","0.1.3","0.1.2","0.1.1","0.1.0","0.0.7","0.0.6","0.0.5","0.0.4"],"description":"Must be behind an Osgiliath parent archetype, business processing of data"},{"artifactId":"net.osgiliath.archetype.model","groupId":"net.osgiliath.archetypes","versions":["0.3.7","0.3.6","0.3.4","0.3.3","0.3.2","0.3.1","0.2.3","0.2.2","0.2.1","0.2.0","0.1.8","0.1.7","0.1.6","0.1.5","0.1.4","0.1.3","0.1.2","0.1.1","0.1.0","0.0.7","0.0.6","0.0.5","0.0.4","0.0.3","0.0.2","0.0.1"],"description":"Must be behind an Osgiliath parent archetype, database persistence of your model"},{"artifactId":"net.osgiliath.archetype.parent","groupId":"net.osgiliath.archetypes","versions":["0.3.7","0.3.6","0.3.4","0.3.3","0.3.2","0.3.1","0.2.3","0.2.2","0.2.1","0.2.0","0.1.8","0.1.7","0.1.6","0.1.5","0.1.4","0.1.3","0.1.2","0.1.1","0.1.0","0.0.7","0.0.6","0.0.5","0.0.4","0.0.3","0.0.2","0.0.1"],"description":"Parent skeleton for an Osgiliath project"},{"artifactId":"net.osgiliath.archetype.routes","groupId":"net.osgiliath.archetypes","versions":["0.3.7","0.3.6","0.3.4","0.3.3","0.3.2","0.3.1","0.0.3","0.0.2","0.0.1"],"description":"Must be behind an Osgiliath parent archetype, routing support between modules"},{"artifactId":"net.osgiliath.archetype.routes.blueprint","groupId":"net.osgiliath.archetypes","versions":["0.2.3","0.2.2","0.2.1","0.2.0","0.1.8","0.1.7","0.1.6","0.1.5","0.1.4","0.1.3","0.1.2","0.1.1","0.1.0","0.0.7","0.0.6","0.0.5","0.0.4"],"description":"Must be behind an Osgiliath parent archetype, routing support between modules"},{"artifactId":"net.osgiliath.archetype.routes.cdi","groupId":"net.osgiliath.archetypes","versions":["0.2.3","0.2.2","0.2.1","0.2.0","0.1.8","0.1.7","0.1.6","0.1.5","0.1.4","0.1.3","0.1.2","0.1.1","0.1.0","0.0.7","0.0.6","0.0.5","0.0.4"],"description":"Must be behind an Osgiliath parent archetype, routing support between modules"},{"artifactId":"net.osgiliath.archetype.ui","groupId":"net.osgiliath.archetypes","versions":["0.3.7","0.3.6","0.3.4","0.3.3","0.3.2","0.3.1","0.2.3","0.2.2","0.2.1","0.2.0","0.1.8","0.1.7","0.1.6","0.1.5","0.1.4","0.1.3","0.1.2","0.1.1","0.1.0","0.0.7","0.0.6","0.0.5","0.0.4","0.0.3","0.0.2","0.0.1"],"description":"Must be behind an Osgiliath parent archetype, user inteface programming for Osgiliath"},{"artifactId":"phaedra-archetype","groupId":"net.phaedra","versions":["0.6.0"]},{"artifactId":"pincette-jes-archetype","groupId":"net.pincette","versions":["2.0.3","2.0.2","2.0.1","2.0","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0"],"description":"JSON Event Sourcing Maven Artefact"},{"artifactId":"pricefx-starter","groupId":"net.pricefx","versions":["1.1"],"description":"Archetype for creating new Pricefx configuration projects."},{"artifactId":"javaee8-war-archetype","groupId":"net.rhuanrocha","versions":["1.0.2","1.0.1","1.0.0"],"description":"A archetype to create applications using Java EE 8"},{"artifactId":"microprofile2.0-archetype","groupId":"net.rhuanrocha","versions":["1.0.1"],"description":"A archetype to create applications using Microprofile 2.0"},{"artifactId":"roboconf-maven-archetype","groupId":"net.roboconf","versions":["1.0"]},{"artifactId":"ryian-web-archetype","groupId":"net.ryian","versions":["1.0.0"],"description":"ryian-web-archetype is an archetype to create a web project based on ryian framework"},{"artifactId":"serenity-cucumber-archetype","groupId":"net.serenity-bdd","versions":["2.3.2","2.0.81","2.0.80","2.0.78","2.0.75","2.0.66","1.8.4","1.7.0","1.6.9","1.5.4","1.2.0","1.1.38","1.1.36","1.1.20","1.1.19","1.1.18","1.1.17","1.1.7","1.0.8","1.0.7","1.0.6"],"description":"Serenity BDD automated acceptance test suite"},{"artifactId":"serenity-cucumber4-archetype","groupId":"net.serenity-bdd","versions":["2.0.81","2.0.80","2.0.78","2.0.75"],"description":"Serenity automated acceptance testing project using Selenium 2, JUnit and Cucumber-JVM"},{"artifactId":"serenity-cucumber4-screenplay-archetype","groupId":"net.serenity-bdd","versions":["2.0.81","2.0.80","2.0.78"],"description":"Serenity automated acceptance testing project using Selenium 2, JUnit and Cucumber-JVM"},{"artifactId":"serenity-jbehave-archetype","groupId":"net.serenity-bdd","versions":["2.3.2","2.0.81","2.0.80","2.0.78","2.0.75","2.0.66","1.8.4","1.7.0","1.6.9","1.5.4","1.2.0","1.1.38","1.1.36","1.1.20","1.1.19","1.1.18","1.1.17","1.1.7","1.0.8","1.0.7","1.0.6","1.0.2"],"description":"Serenity automated acceptance testing project using Selenium 2, JUnit and JBehave"},{"artifactId":"serenity-junit-archetype","groupId":"net.serenity-bdd","versions":["2.3.2","2.0.81","2.0.80","2.0.78","2.0.75","2.0.66","1.8.4","1.7.0","1.6.9","1.5.4","1.2.0","1.1.38","1.1.36","1.1.20","1.1.19","1.1.18","1.1.17","1.1.7","1.0.8","1.0.7","1.0.6","1.0.2"],"description":"Serenity automated acceptance testing project using Selenium 2 and JUnit"},{"artifactId":"serenity-junit-screenplay-archetype","groupId":"net.serenity-bdd","versions":["2.3.2","2.0.81","2.0.80","2.0.78","2.0.75","2.0.66","1.8.4","1.7.0","1.6.9","1.5.4","1.2.0","1.1.38","1.1.36","1.1.20","1.1.19","1.1.18"],"description":"Serenity automated acceptance testing project using Screenplay, Selenium 2 and JUnit"},{"artifactId":"iafarch-empty","groupId":"net.sf.ingenias","versions":["1.4","1.3","1.2","1.1","1.0"]},{"artifactId":"iafarch-gui","groupId":"net.sf.ingenias","versions":["1.4","1.3","1.2","1.1","1.0"]},{"artifactId":"iafarch-helloworld","groupId":"net.sf.ingenias","versions":["1.4","1.3","1.2","1.1","1.0"]},{"artifactId":"iafarch-interaction","groupId":"net.sf.ingenias","versions":["1.4","1.3","1.2","1.1","1.0"]},{"artifactId":"common-archetype","groupId":"net.sf.itcb.archetype","versions":["0.0.1"],"description":"Archetype that might be used by IT managers in order to create the common packages of custom IT.\n groupId, artifactId, package, version, companyMainGroupId, companyMainArtifactId, companyMainVersion, company, companyUrl have to be defined in archetype execution.\n By convention, we recommend to call this module common-\"yourcompany\"."},{"artifactId":"main-archetype","groupId":"net.sf.itcb.archetype","versions":["1.0.0"],"description":"Archetype that might be used by IT managers in order to create the base of custom IT.\n archetypeId, groupId, version, company and companyUrl have to be defined in archetype execution.\n By convention, we recommend to call this module main-\"yourcompany\"."},{"artifactId":"jlue-archetype-basic","groupId":"net.sf.jlue","versions":["1.0"],"description":"Archetype - basic project for Jlue"},{"artifactId":"jlue-archetype-blank","groupId":"net.sf.jlue","versions":["1.0"],"description":"Archetype - blank project for Jlue"},{"artifactId":"maven-autotools-archetype-executable","groupId":"net.sf.maven-autotools","versions":["0.2"]},{"artifactId":"maven-autotools-archetype-shared","groupId":"net.sf.maven-autotools","versions":["0.2"]},{"artifactId":"maven-archetype-har","groupId":"net.sf.maven-har","versions":["1.0","0.9"]},{"artifactId":"maven-archetype-sar","groupId":"net.sf.maven-sar","versions":["0.9"]},{"artifactId":"maven-archetype-gwt","groupId":"net.sf.mgp","versions":["1.0.2","1.0.1","1.0"],"description":"An archetype which contains a sample Maven GWT project."},{"artifactId":"portletunit-portlet-archetype","groupId":"net.sf.portletunit","versions":["1.0.2","1.0.1"],"description":"An archetype that creates a simple porltet with unit tests."},{"artifactId":"mojo-archetype","groupId":"net.sf.sf3jswing","versions":["1.0.6","1.0.3"],"description":"\"Maven Old Java Object\" Project builder . From this archetype, maven can build and initialize a SF3JSWING child project folder structure."},{"artifactId":"squirrelsql-plugin-archetype","groupId":"net.sf.squirrel-sql.plugins","versions":["3.5.0","3.4.0","3.3.0","3.3.0-rc3","3.3.0-rc2","3.3.0-rc1"],"description":"This project produces the maven archetype that can be used to generate a SQuirreL\n\t\tPlugin\n\t\tmaven project. The project that is produced contains an Example plugin that demonstrates the use\n\t\tof key plugin APIs."},{"artifactId":"mda-spring-archetype","groupId":"net.sf.tsl2nano","versions":["0.0.2","0.0.1"],"description":"TSL2 Archetype for MDA with spring-boot"},{"artifactId":"tsl2.nano.archetype","groupId":"net.sf.tsl2nano","versions":["2.4.12","2.4.11","2.4.10","2.4.9","2.4.8","2.4.7","2.4.6","2.4.5","2.4.4","2.4.3","2.4.2","2.4.1","2.4.0","2.3.1","2.3.0"],"description":"TSL2 Framework (fullstack) archetype to create a new MDA JEE+Thymeleaf Application"},{"artifactId":"uctool-archetype","groupId":"net.sf.uctool","versions":["2.1.0","2.0.0","1.0.1"],"description":"Creates a new project ready to be used with Use Case Tool."},{"artifactId":"smartcosmos-extension-archetype","groupId":"net.smartcosmos.extension","versions":["2.14.0","2.13.1","2.13.0","2.12.1","2.12.0","2.11.1","2.10.16","2.10.15","2.10.14","2.10.13","2.10.11"],"description":"SMART COSMOS Extension Archetype"},{"artifactId":"ota-tools-schema-archetype","groupId":"net.sourceforge.ota-tools.schema","versions":["1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.1"]},{"artifactId":"jsf-jqmobile-archetype","groupId":"net.thejeearchitectcookbook","versions":["1.6","1.5","1.4","1.3","1.2"],"description":"JSF 2 and JQuery Mobile basic web archetype."},{"artifactId":"thucydides-easyb-archetype","groupId":"net.thucydides","versions":["0.9.268","0.9.262","0.9.256","0.9.229","0.9.205","0.9.200","0.9.98","0.9.95","0.9.94","0.9.92","0.9.91","0.9.90","0.9.89","0.9.88","0.9.87","0.9.18","0.8.26","0.8.24","0.7.10","0.7.4","0.4.31","0.4.30","0.4.27","0.4.24","0.4.23","0.4.22","0.4.21","0.4.20","0.4.19","0.4.18","0.4.16"],"description":"Thucydides automated acceptance testing project using Selenium 2, JUnit and easyb"},{"artifactId":"thucydides-jbehave-archetype","groupId":"net.thucydides","versions":["0.9.268","0.9.262","0.9.256","0.9.229","0.9.205","0.9.200","0.9.98","0.9.95","0.9.94","0.9.92","0.9.91","0.9.90","0.9.89","0.9.88","0.9.87"],"description":"Thucydides automated acceptance testing project using Selenium 2, JUnit and JBehave"},{"artifactId":"thucydides-simple-archetype","groupId":"net.thucydides","versions":["0.9.268","0.9.262","0.9.256","0.9.229","0.9.205","0.9.200","0.9.98","0.9.95","0.9.94","0.9.92","0.9.91","0.9.90","0.9.89","0.9.88","0.9.87","0.9.18","0.8.26","0.8.24","0.7.10","0.7.4","0.4.31","0.4.30","0.4.27","0.4.24","0.4.23","0.4.22","0.4.21","0.4.20","0.4.19","0.4.18","0.4.16"],"description":"Thucydides automated acceptance testing project using Selenium 2 and JUnit"},{"artifactId":"connector-archetype","groupId":"net.tirasa.connid","versions":["1.5.2.0","1.5.1.0","1.5.0.2","1.5.0.1","1.5.0.0","1.4.5.1","1.4.5.0","1.4.4.0","1.4.3.0"]},{"artifactId":"java-archetype","groupId":"net.trajano.archetype","versions":["1.0.0"],"description":"This is an archetype type for a Java artifact."},{"artifactId":"truelicense-maven-archetype","groupId":"net.truelicense","versions":["3.2.0","3.1.0","3.0.0"],"description":"The TrueLicense Maven Archetype is a turn-key solution for designing\n and implementing a custom licensing schema for your software product.\n The archetype generates a tailor-made project which is composed of\n ready-made modules for vending and consuming license keys.\n The modules contain code templates which you can easily customize\n without writing code by configuring a set of properties."},{"artifactId":"kotowari-archetype","groupId":"net.unit8.enkan","versions":["0.6.0-beta3","0.6.0-beta2","0.2.0","0.1.0","0.1.0-beta3","0.1.0-beta2","0.1.0-beta1"]},{"artifactId":"ejb-jee5-liberty","groupId":"net.wasdev.maven.tools.archetypes","versions":["1.0"],"description":"EJB 3.0 project targeting WebSphere Liberty"},{"artifactId":"ejb-jee6-liberty","groupId":"net.wasdev.maven.tools.archetypes","versions":["1.0"],"description":"EJB 3.1 project targeting WebSphere Liberty"},{"artifactId":"ejb-jee7-liberty","groupId":"net.wasdev.maven.tools.archetypes","versions":["1.0"],"description":"EJB 3.2 project targeting WebSphere Liberty"},{"artifactId":"osgi-liberty","groupId":"net.wasdev.maven.tools.archetypes","versions":["1.0"],"description":"OSGi project targeting WebSphere Liberty"},{"artifactId":"osgi-web25-liberty","groupId":"net.wasdev.maven.tools.archetypes","versions":["1.0"],"description":"OSGi Web 2.5 project targeting WebSphere Liberty"},{"artifactId":"osgi-web30-liberty","groupId":"net.wasdev.maven.tools.archetypes","versions":["1.0"],"description":"OSGi Web 3.0 project targeting WebSphere Liberty"},{"artifactId":"osgi-web31-liberty","groupId":"net.wasdev.maven.tools.archetypes","versions":["1.0"],"description":"OSGi Web 3.1 project targeting WebSphere Liberty"},{"artifactId":"webapp-jee5-liberty","groupId":"net.wasdev.maven.tools.archetypes","versions":["1.0"],"description":"Web 2.5 project targeting WebSphere Liberty"},{"artifactId":"webapp-jee6-liberty","groupId":"net.wasdev.maven.tools.archetypes","versions":["1.0"],"description":"Web 3.0 project targeting WebSphere Liberty"},{"artifactId":"webapp-jee7-liberty","groupId":"net.wasdev.maven.tools.archetypes","versions":["1.0"],"description":"Web 3.1 project targeting WebSphere Liberty"},{"artifactId":"liberty-archetype-ear","groupId":"net.wasdev.wlp.maven","versions":["2.7","2.6.4","2.6.3","2.6.2","2.6.1","2.6","2.5","2.4.2","2.4","2.3","2.2","2.1.2","2.1.1","2.1","3.0.M1"],"description":"An archetype that generates a Java EE 7 multi-module project that includes an EJB module, a web application module and an EAR module"},{"artifactId":"liberty-archetype-webapp","groupId":"net.wasdev.wlp.maven","versions":["2.7","2.6.4","2.6.3","2.6.2","2.6.1","2.6","2.5","2.4.2","2.4","2.3","2.2","2.1.2","2.1.1","2.1","2.0","3.0.M1"]},{"artifactId":"liberty-plugin-archetype","groupId":"net.wasdev.wlp.maven","versions":["2.7","2.6.4","2.6.3","2.6.2","2.6.1","2.6","2.5","2.4.2","2.4","2.3","2.2","2.1.2","2.1.1","2.1","2.0","1.3","1.2.1","1.2","1.1","1.0","3.0.M1"]},{"artifactId":"gwt-maven-plugin","groupId":"net.wetheinter","versions":["2.7.0"],"description":"Maven plugin for the Google Web Toolkit."},{"artifactId":"weblith-archetype","groupId":"net.zileo","versions":["0.1.0"]},{"artifactId":"dashboard-archetype","groupId":"ng.shoppi","versions":["1.0.0","1.0.0-rc01"],"description":"Archetype to generate a Shopp!ng style dashboard project"},{"artifactId":"microservice-archetype","groupId":"ng.shoppi","versions":["1.0.2","1.0.1","1.0.0"],"description":"Archetype to generate a Shopp!ng style microservice project"},{"artifactId":"springboot","groupId":"nl.delphinity","versions":["1.0"],"description":"A basic starter template using springboot, jpa data, thymeleaf and MVC"},{"artifactId":"springboot-delphinity-archetype","groupId":"nl.delphinity","versions":["1.3"],"description":"A basic starter template using springboot, jpa data, thymeleaf and MVC"},{"artifactId":"fitnesse-project","groupId":"nl.hsac","versions":["1.7.0","1.6.0","1.5.0","1.4.0","1.3.0","1.2.0","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1"],"description":"Project to create a Maven archetype that can be used to generate a FitNesse project based on hsac-fitnesse-fixtures"},{"artifactId":"jakartaee8-essentials-archetype","groupId":"nl.ivonet","versions":["1.1","1.0"],"description":"JakartaEE 8 project minimalistic quickstart template."},{"artifactId":"jakartaee8-payara-microprofile-archetype","groupId":"nl.ivonet","versions":["1.1","1.0"],"description":"Jakarta EE 8 / Payara 5 / Microprofile 3 - project minimalistic quickstart template."},{"artifactId":"jakartaee9-payara-microprofile-archetype","groupId":"nl.ivonet","versions":["2.0","1.0"],"description":"Jakarta EE 9 / Payara 5.2022.2 / Microprofile 4.1 - project minimalistic quickstart template."},{"artifactId":"javaee7-essentials-archetype","groupId":"nl.ivonet","versions":["0.0.3","0.0.2","0.0.1"]},{"artifactId":"javaee8-essentials-archetype","groupId":"nl.ivonet","versions":["0.0.3","0.0.2","0.0.1"],"description":"Java EE 8 project minimalistic quickstart template."},{"artifactId":"javaee8-payara-microprofile-archetype","groupId":"nl.ivonet","versions":["1.3","1.2","1.1","1.0","0.0.2","0.0.1"],"description":"Java EE 8 / Payara 5 / Microprofile 2 - project minimalistic quickstart template."},{"artifactId":"talend-runtime-archetype","groupId":"nl.paultegelaar.docker","versions":["0.0.5","0.0.3"],"description":"Talend Runtime Docker container archetype"},{"artifactId":"psek-fitnesse-project-archetype","groupId":"nl.psek.fitnesse","versions":["1.2.0","1.1.1"],"description":"A template for a FitNesse testproject using the psek-fitnesse-fixtures"},{"artifactId":"minecraft-plugin-archetype","groupId":"nl.xymion.maven.archetypes","versions":["0.0.2"],"description":"A simple archetype for creating Minecraft plugins. This archetype creates dynamic content."},{"artifactId":"maven-archetype-eventsourcing","groupId":"no.bouvet","versions":["1.0.4","1.0.3","1.0.2"]},{"artifactId":"java-starter","groupId":"no.dervis","versions":["1.0.2"],"description":"A Maven archetype for generating Java projects\n with configuration for enabling/disabling preview features."},{"artifactId":"jsf-quickstart-archetype","groupId":"no.tornado","versions":["0.9.1"],"description":"JSF Web Application with libSASS"},{"artifactId":"modular-app-archetype","groupId":"no.tornado","versions":["1.0.3"],"description":"Modular application archetype based on Tornado Inject - One service and one client module."},{"artifactId":"tornadofx-quickstart-archetype","groupId":"no.tornado","versions":["1.7.17","1.7.16","1.7.15","1.7.14","1.7.13","1.7.12","1.7.11","1.7.10","1.7.9","1.7.8","1.7.7","1.7.6","1.7.5","1.7.4","1.7.3","1.7.2","1.7.1","1.7.0","1.6.2","1.6.1","1.6.0","1.5.9","1.5.8","1.5.6","1.5.4","1.5.3","1.5.0","1.0.3","1.0.2","1.0.1","1.0","1.7.10.2"],"description":"TornadoFX Quick Start Archetype with minimal sample application"},{"artifactId":"web-quickstart","groupId":"no.tornado","versions":["1.0"],"description":"Quickstart Archetype for"},{"artifactId":"groovy-archetype","groupId":"nz.net.osnz","versions":["2.2","2.1","1.5","1.4","1.3","1.2","1.1"],"description":"OSNZ groovy archetype"},{"artifactId":"java-archetype","groupId":"nz.net.osnz","versions":["2.3","2.2","2.1","1.5","1.4","1.3","1.2","1.1"],"description":"OSNZ Java archetype"},{"artifactId":"kotlin-archetype","groupId":"nz.net.osnz","versions":["1.1"],"description":"OSNZ Kotlin archetype"},{"artifactId":"scala-archetype","groupId":"nz.net.osnz","versions":["2.1","1.4","1.2","1.1"],"description":"OSNZ Scala archetype"},{"artifactId":"osnz-lmz-archetype","groupId":"nz.net.osnz.lmz","versions":["2.1","1.3","1.2","1.1"],"description":"OSNZ LMZ Archetype"},{"artifactId":"osnz-war-archetype","groupId":"nz.net.osnz.lmz","versions":["2.1","1.3","1.2","1.1"],"description":"OSNZ WAR Archetype"},{"artifactId":"cesweb-archetype","groupId":"online.chanlong","versions":["1.0.1","1.0.0"],"description":"cesweb project's template"},{"artifactId":"maven-archetype-jbi-bc","groupId":"open.jbi.components.maven.archetype","versions":["0.1"],"description":"Maven archetype project to create a JBI Binding Component project \n that contains the maven, ant build setup and sample source code for BC."},{"artifactId":"maven-archetype-jbi-se","groupId":"open.jbi.components.maven.archetype","versions":["0.1"],"description":"Maven archetype project to create a JBI Service Engine project \n that contains the maven, ant build setup and sample source code for BC."},{"artifactId":"act-archetype-support","groupId":"org.actframework","versions":["1.8.8.8","1.8.8.7","1.8.8.6","1.8.8.5","1.8.8.4","1.8.8.3","1.8.8.2","1.8.8.1","1.8.8.0","1.8.7.1","1.8.7.0"]},{"artifactId":"archetype-bookmark","groupId":"org.actframework","versions":["1.9.2.0","1.9.1.0","1.9.0.2","1.9.0.1","1.9.0.0","1.8.33.0","1.8.32.0","1.8.31.0","1.8.30.1","1.8.30.0","1.8.29.0"]},{"artifactId":"archetype-chatroom","groupId":"org.actframework","versions":["1.9.2.0","1.9.1.0","1.9.0.2","1.9.0.1","1.9.0.0","1.8.33.0","1.8.32.0","1.8.31.0","1.8.30.1","1.8.30.0","1.8.29.0"]},{"artifactId":"archetype-quickstart","groupId":"org.actframework","versions":["1.9.2.0","1.9.1.0","1.9.0.2","1.9.0.1","1.9.0.0","1.8.8.9","1.8.8.8","1.8.8.7","1.8.8.6","1.8.8.5","1.8.8.4","1.8.8.3","1.8.8.2","1.8.8.1","1.8.8.10","1.8.8.0","1.8.7.3","1.8.7.2","1.8.7.1","1.8.7.0","1.8.6.1","1.8.6.0","1.8.5.1","1.8.33.0","1.8.32.0","1.8.31.0","1.8.30.1","1.8.30.0","1.8.29.0","1.8.28.0","1.8.27.0","1.8.26.0","1.8.25.0","1.8.24.1","1.8.24.0","1.8.23.0","1.8.22.0","1.8.21.0","1.8.20.1","1.8.19.0","1.8.18.0","1.8.17.1","1.8.17.0","1.8.16.1","1.8.16.0","1.8.15.0","1.8.14.0","1.8.13.0","1.8.12.0","1.8.11.0"]},{"artifactId":"archetype-simple-restful-service","groupId":"org.actframework","versions":["1.9.2.0","1.9.1.0","1.9.0.2","1.9.0.1","1.9.0.0","1.8.8.9","1.8.8.8","1.8.8.7","1.8.8.6","1.8.8.5","1.8.8.4","1.8.8.3","1.8.8.2","1.8.8.1","1.8.8.10","1.8.8.0","1.8.7.3","1.8.7.2","1.8.7.1","1.8.7.0","1.8.6.1","1.8.6.0","1.8.5.1","1.8.5.0","1.8.5.0-BETA-2","1.8.5.0-BETA-1","1.8.33.0","1.8.32.0","1.8.31.0","1.8.30.1","1.8.30.0","1.8.29.0","1.8.28.0","1.8.27.0","1.8.26.0","1.8.25.0","1.8.24.1","1.8.24.0","1.8.23.0","1.8.22.0","1.8.21.0","1.8.20.1","1.8.19.0","1.8.18.0","1.8.17.1","1.8.17.0","1.8.16.1","1.8.16.0","1.8.15.0","1.8.14.0","1.8.13.0","1.8.12.0","1.8.11.0"]},{"artifactId":"activiti-archetype-unittest","groupId":"org.activiti","versions":["6.0.0","5.23.0","5.23.0-RC1","5.22.0","5.21.0","5.20.0","5.19.0","6.0.0.RC1","6.0.0.Beta4","6.0.0.Beta3","6.0.0.Beta2","5.19.0.3","5.19.0.2","5.19.0.1"],"description":"Creates a new Activiti unit test."},{"artifactId":"minimaven-ghsite-simple","groupId":"org.aerysoft.minimaven","versions":["0.1.2","0.1.1"],"description":"A simple Maven archetype for GitHub-hosted static website."},{"artifactId":"avm-archetype","groupId":"org.aion4j","versions":["0.30","0.20","0.19","0.18","0.17","0.15","0.14","0.13","0.12","0.11","0.10","0.9","0.8","0.7","0.6","0.5","0.4","0.3","0.2"],"description":"Maven archetype which can be used to generate Aion AVM based smart contract project in java"},{"artifactId":"avm-archetype-multimodule","groupId":"org.aion4j","versions":["0.30","0.13","0.12","0.11","0.10"],"description":"Maven archetype which can be used to generate a multi module AVM smart contract project in java"},{"artifactId":"activiti-jar-archetype","groupId":"org.alfresco.maven.archetype","versions":["3.1.0","3.0.1","3.0.0"],"description":"DEPRECATED - UNSUPPORTED - EXPERIMENTAL"},{"artifactId":"alfresco-allinone-archetype","groupId":"org.alfresco.maven.archetype","versions":["4.5.0","4.4.0","4.3.0","4.2.0","4.1.0","4.0.0","4.0.0-beta-1","3.1.0","3.0.1","3.0.0","2.2.0","2.1.1","2.1.0","2.0.0","2.0.0-beta-4","2.0.0-beta-3","2.0.0-beta-2","2.0.0-beta-1"],"description":"Sample multi-module project for All-in-One development on the Alfresco platform. Includes modules for Platform/Repository JAR and Share JAR"},{"artifactId":"alfresco-amp-archetype","groupId":"org.alfresco.maven.archetype","versions":["2.2.0","2.1.1","2.1.0","2.0.0","2.0.0-beta-4","2.0.0-beta-3","2.0.0-beta-2","2.0.0-beta-1"],"description":"Sample project with full support for lifecycle and rapid development of Repository AMPs (Alfresco Module Packages)"},{"artifactId":"alfresco-platform-jar-archetype","groupId":"org.alfresco.maven.archetype","versions":["4.5.0","4.4.0","4.3.0","4.2.0","4.1.0","4.0.0","4.0.0-beta-1","3.1.0","3.0.1","3.0.0"],"description":"Sample project with full support for lifecycle and rapid development of Platform/Repository JARs and AMPs (Alfresco Module Packages)"},{"artifactId":"alfresco-share-jar-archetype","groupId":"org.alfresco.maven.archetype","versions":["4.5.0","4.4.0","4.3.0","4.2.0","4.1.0","4.0.0","4.0.0-beta-1","3.1.0","3.0.1","3.0.0"],"description":"Share project with full support for lifecycle and rapid development of JARs and AMPs (Alfresco Module\n Packages)"},{"artifactId":"share-amp-archetype","groupId":"org.alfresco.maven.archetype","versions":["2.2.0","2.1.1","2.1.0","2.0.0","2.0.0-beta-4","2.0.0-beta-3","2.0.0-beta-2","2.0.0-beta-1"],"description":"Share project with full support for lifecycle and rapid development of AMPs (Alfresco Module\n Packages)"},{"artifactId":"template-archetype","groupId":"org.antframework.template","versions":["2.7.4","1.0.0.RELEASE"],"description":"基于ant-boot应用的父pom"},{"artifactId":"antlr3-maven-archetype","groupId":"org.antlr","versions":["3.5.3","3.5.2","3.5.1","3.5-rc-2","3.5-rc-1","3.4","3.4-beta4","3.4-beta3","3.3-1","3.3","3.2"],"description":"ANTLR 3 Maven Archetype"},{"artifactId":"accumulo-instamo-archetype","groupId":"org.apache.accumulo","versions":["1.4.4"]},{"artifactId":"apex-app-archetype","groupId":"org.apache.apex","versions":["3.7.0","3.6.0","3.5.0","3.4.0","3.3.0-incubating","3.2.1-incubating","3.2.0-incubating"]},{"artifactId":"apex-conf-archetype","groupId":"org.apache.apex","versions":["3.7.0","3.6.0","3.5.0","3.4.0","3.3.0-incubating","3.2.1-incubating","3.2.0-incubating"]},{"artifactId":"archiva-consumer-archetype","groupId":"org.apache.archiva","versions":["2.2.9","2.2.8","2.2.7","2.2.6","2.2.5","2.2.4","2.2.3","2.2.1","2.2.0","2.1.1","2.1.0","2.0.1","2.0.0","1.4-M4","1.4-M3","1.4-M2"],"description":"Simple archetype to create archiva consumers"},{"artifactId":"avro-service-archetype","groupId":"org.apache.avro","versions":["1.11.1","1.11.0","1.10.2","1.10.1","1.10.0","1.9.2","1.9.1","1.9.0","1.8.2","1.8.1","1.8.0","1.7.7","1.7.6","1.7.5","1.7.4","1.7.3","1.7.2","1.7.1","1.7.0","1.6.3","1.6.2","1.6.1","1.6.0"],"description":"Archetype that generates a simple example Avro service"},{"artifactId":"quickstart","groupId":"org.apache.axis2.archetype","versions":["1.8.2","1.8.1","1.8.0","1.7.9","1.7.8","1.7.7","1.7.6","1.7.5","1.7.4","1.7.3","1.7.2","1.7.1","1.7.0"],"description":"Maven archetype for creating a Axis2 web Service"},{"artifactId":"quickstart-webapp","groupId":"org.apache.axis2.archetype","versions":["1.8.2","1.8.1","1.8.0","1.7.9","1.7.8","1.7.7","1.7.6","1.7.5","1.7.4","1.7.3","1.7.2","1.7.1","1.7.0"],"description":"Maven archetype for creating a Axis2 web Service as a webapp"},{"artifactId":"beam-sdks-java-maven-archetypes-examples","groupId":"org.apache.beam","versions":["2.24.0","2.23.0","2.22.0","2.21.0","2.20.0","2.19.0","2.18.0","2.17.0","2.16.0","2.15.0","2.14.0","2.13.0","2.12.0","2.11.0","2.10.0","2.9.0","2.8.0","2.7.0","2.6.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.0","0.6.0","0.5.0","0.4.0","0.3.0-incubating","0.2.0-incubating","0.1.0-incubating"]},{"artifactId":"beam-sdks-java-maven-archetypes-examples-java8","groupId":"org.apache.beam","versions":["2.2.0","2.1.0","2.0.0","0.6.0","0.5.0","0.4.0"],"description":"A Maven Archetype to create a project containing\n example pipelines from the Apache Beam Java SDK, targeting Java 8."},{"artifactId":"beam-sdks-java-maven-archetypes-starter","groupId":"org.apache.beam","versions":["2.24.0","2.23.0","2.22.0","2.21.0","2.20.0","2.19.0","2.18.0","2.17.0","2.16.0","2.15.0","2.14.0","2.13.0","2.12.0","2.11.0","2.10.0","2.9.0","2.8.0","2.7.0","2.6.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.0","0.6.0","0.5.0","0.4.0","0.3.0-incubating","0.2.0-incubating","0.1.0-incubating"]},{"artifactId":"brooklyn-archetype-quickstart","groupId":"org.apache.brooklyn","versions":["1.0.0","1.0.0-M1","0.12.0","0.11.0","0.10.0","0.9.0","0.8.0-incubating","0.7.0-incubating"],"description":"This project defines an archetype for creating new projects which consume brooklyn,\n including an example application and an example new entity type,\n able to build an OSGi JAR and a binary assembly, with logging and READMEs."},{"artifactId":"camel-component","groupId":"org.apache.camel","versions":["1.4.0","1.3.0"]},{"artifactId":"camel-router","groupId":"org.apache.camel","versions":["1.4.0","1.3.0","1.2.0","1.1.0","1.0.0"]},{"artifactId":"camel-archetype-activemq","groupId":"org.apache.camel.archetypes","versions":["2.25.4","2.25.3","2.25.2","2.25.1","2.25.0","2.24.3","2.24.2","2.24.1","2.24.0","2.23.4","2.23.3","2.23.2","2.23.1","2.23.0","2.22.5","2.22.4","2.22.3","2.22.2","2.22.1","2.22.0","2.21.5","2.21.4","2.21.3","2.21.2","2.21.1","2.21.0","2.20.4","2.20.3","2.20.2","2.20.1","2.20.0","2.19.5","2.19.4","2.19.3","2.19.2","2.19.1","2.19.0","2.18.5","2.18.4","2.18.3","2.18.2","2.18.1","2.18.0","2.17.7","2.17.6","2.17.5","2.17.4","2.17.3","2.17.2","2.17.1","2.17.0","2.16.5","2.16.4","2.16.3","2.16.2","2.16.1","2.16.0","2.15.6","2.15.5","2.15.4","2.15.3","2.15.2","2.15.1","2.15.0","2.14.4","2.14.3","2.14.2","2.14.1","2.14.0","2.13.4","2.13.3","2.13.2","2.13.1","2.13.0","2.12.5","2.12.4","2.12.3","2.12.2","2.12.1","2.12.0","2.11.4","2.11.3","2.11.2","2.11.1","2.11.0","2.10.7","2.10.6","2.10.5","2.10.4","2.10.3","2.10.2","2.10.1","2.10.0","2.9.8","2.9.7","2.9.6","2.9.5","2.9.4","2.9.3","2.9.2","2.9.1","2.9.0","2.9.0-RC1","2.8.6","2.8.5","2.8.4","2.8.3","2.8.2","2.8.1","2.8.0","2.7.5","2.7.4","2.7.3","2.7.2","2.7.1","2.7.0","2.6.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.0","2.0-M3","2.0-M2","2.0-M1","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.5.0"],"description":"Creates a new Camel project that configures and interacts with ActiveMQ."},{"artifactId":"camel-archetype-api-component","groupId":"org.apache.camel.archetypes","versions":["4.0.0-M1","3.20.2","3.20.1","3.20.0","3.19.0","3.18.5","3.18.4","3.18.3","3.18.2","3.18.1","3.18.0","3.17.0","3.16.0","3.15.0","3.14.7","3.14.6","3.14.5","3.14.4","3.14.3","3.14.2","3.14.1","3.14.0","3.13.0","3.12.0","3.11.7","3.11.6","3.11.5","3.11.4","3.11.3","3.11.2","3.11.1","3.11.0","3.10.0","3.9.0","3.8.0","3.7.7","3.7.6","3.7.5","3.7.4","3.7.3","3.7.2","3.7.1","3.7.0","3.6.0","3.5.0","3.4.6","3.4.5","3.4.4","3.4.3","3.4.2","3.4.1","3.4.0","3.3.0","3.2.0","3.1.0","3.0.1","3.0.0","3.0.0-RC3","3.0.0-RC2","3.0.0-RC1","3.0.0-M4","3.0.0-M3","3.0.0-M2","3.0.0-M1","2.25.4","2.25.3","2.25.2","2.25.1","2.25.0","2.24.3","2.24.2","2.24.1","2.24.0","2.23.4","2.23.3","2.23.2","2.23.1","2.23.0","2.22.5","2.22.4","2.22.3","2.22.2","2.22.1","2.22.0","2.21.5","2.21.4","2.21.3","2.21.2","2.21.1","2.21.0","2.20.4","2.20.3","2.20.2","2.20.1","2.20.0","2.19.5","2.19.4","2.19.3","2.19.2","2.19.1","2.19.0","2.18.5","2.18.4","2.18.3","2.18.2","2.18.1","2.18.0","2.17.7","2.17.6","2.17.5","2.17.4","2.17.3","2.17.2","2.17.1","2.17.0","2.16.5","2.16.4","2.16.3","2.16.2","2.16.1","2.16.0","2.15.6","2.15.5","2.15.4","2.15.3","2.15.2","2.15.1","2.15.0","2.14.4","2.14.3","2.14.2","2.14.1","2.14.0"],"description":"Creates a new Camel component that wraps one or more API proxies."},{"artifactId":"camel-archetype-blueprint","groupId":"org.apache.camel.archetypes","versions":["3.20.2","3.20.1","3.20.0","3.19.0","3.18.5","3.18.4","3.18.3","3.18.2","3.18.1","3.18.0","3.17.0","3.16.0","3.15.0","3.14.7","3.14.6","3.14.5","3.14.4","3.14.3","3.14.2","3.14.1","3.14.0","3.13.0","3.12.0","3.11.7","3.11.6","3.11.5","3.11.4","3.11.3","3.11.2","3.11.1","3.11.0","3.10.0","3.9.0","3.8.0","3.7.7","3.7.6","3.7.5","3.7.4","3.7.3","3.7.2","3.7.1","3.7.0","3.5.0","3.4.6","3.4.5","3.4.4","3.4.3","3.4.2","3.4.1","3.4.0","3.3.0","3.2.0","3.1.0","3.0.1","3.0.0","3.0.0-RC3","3.0.0-RC2","3.0.0-RC1","3.0.0-M4","3.0.0-M3","3.0.0-M2","3.0.0-M1","2.25.4","2.25.3","2.25.2","2.25.1","2.25.0","2.24.3","2.24.2","2.24.1","2.24.0","2.23.4","2.23.3","2.23.2","2.23.1","2.23.0","2.22.5","2.22.4","2.22.3","2.22.2","2.22.1","2.22.0","2.21.5","2.21.4","2.21.3","2.21.2","2.21.1","2.21.0","2.20.4","2.20.3","2.20.2","2.20.1","2.20.0","2.19.5","2.19.4","2.19.3","2.19.2","2.19.1","2.19.0","2.18.5","2.18.4","2.18.3","2.18.2","2.18.1","2.18.0","2.17.7","2.17.6","2.17.5","2.17.4","2.17.3","2.17.2","2.17.1","2.17.0","2.16.5","2.16.4","2.16.3","2.16.2","2.16.1","2.16.0","2.15.6","2.15.5","2.15.4","2.15.3","2.15.2","2.15.1","2.15.0","2.14.4","2.14.3","2.14.2","2.14.1","2.14.0","2.13.4","2.13.3","2.13.2","2.13.1","2.13.0","2.12.5","2.12.4","2.12.3","2.12.2","2.12.1","2.12.0","2.11.4","2.11.3","2.11.2","2.11.1","2.11.0","2.10.7","2.10.6","2.10.5","2.10.4","2.10.3","2.10.2","2.10.1","2.10.0","2.9.8","2.9.7","2.9.6","2.9.5","2.9.4","2.9.3","2.9.2","2.9.1","2.9.0","2.9.0-RC1","2.8.6","2.8.5","2.8.4","2.8.3","2.8.2","2.8.1","2.8.0"],"description":"Creates a new Camel project with OSGi blueprint support. Ready to be deployed in OSGi."},{"artifactId":"camel-archetype-cdi","groupId":"org.apache.camel.archetypes","versions":["3.20.2","3.20.1","3.20.0","3.19.0","3.18.5","3.18.4","3.18.3","3.18.2","3.18.1","3.18.0","3.17.0","3.16.0","3.15.0","3.14.7","3.14.6","3.14.5","3.14.4","3.14.3","3.14.2","3.14.1","3.14.0","3.13.0","3.12.0","3.11.7","3.11.6","3.11.5","3.11.4","3.11.3","3.11.2","3.11.1","3.11.0","3.10.0","3.9.0","3.8.0","3.7.7","3.7.6","3.7.5","3.7.4","3.7.3","3.7.2","3.7.1","3.7.0","3.6.0","3.5.0","3.4.6","3.4.5","3.4.4","3.4.3","3.4.2","3.4.1","3.4.0","3.3.0","3.2.0","3.1.0","3.0.1","3.0.0","3.0.0-RC3","3.0.0-RC2","3.0.0-RC1","3.0.0-M4","3.0.0-M3","3.0.0-M2","3.0.0-M1","2.25.4","2.25.3","2.25.2","2.25.1","2.25.0","2.24.3","2.24.2","2.24.1","2.24.0","2.23.4","2.23.3","2.23.2","2.23.1","2.23.0","2.22.5","2.22.4","2.22.3","2.22.2","2.22.1","2.22.0","2.21.5","2.21.4","2.21.3","2.21.2","2.21.1","2.21.0","2.20.4","2.20.3","2.20.2","2.20.1","2.20.0","2.19.5","2.19.4","2.19.3","2.19.2","2.19.1","2.19.0","2.18.5","2.18.4","2.18.3","2.18.2","2.18.1","2.18.0","2.17.7","2.17.6","2.17.5","2.17.4","2.17.3","2.17.2","2.17.1","2.17.0","2.16.5","2.16.4","2.16.3","2.16.2","2.16.1","2.16.0"],"description":"Creates a new Camel project using CDI."},{"artifactId":"camel-archetype-component","groupId":"org.apache.camel.archetypes","versions":["4.0.0-M1","3.20.2","3.20.1","3.20.0","3.19.0","3.18.5","3.18.4","3.18.3","3.18.2","3.18.1","3.18.0","3.17.0","3.16.0","3.15.0","3.14.7","3.14.6","3.14.5","3.14.4","3.14.3","3.14.2","3.14.1","3.14.0","3.13.0","3.12.0","3.11.7","3.11.6","3.11.5","3.11.4","3.11.3","3.11.2","3.11.1","3.11.0","3.10.0","3.9.0","3.8.0","3.7.7","3.7.6","3.7.5","3.7.4","3.7.3","3.7.2","3.7.1","3.7.0","3.6.0","3.5.0","3.4.6","3.4.5","3.4.4","3.4.3","3.4.2","3.4.1","3.4.0","3.3.0","3.2.0","3.1.0","3.0.1","3.0.0","3.0.0-RC3","3.0.0-RC2","3.0.0-RC1","3.0.0-M4","3.0.0-M3","3.0.0-M2","3.0.0-M1","2.25.4","2.25.3","2.25.2","2.25.1","2.25.0","2.24.3","2.24.2","2.24.1","2.24.0","2.23.4","2.23.3","2.23.2","2.23.1","2.23.0","2.22.5","2.22.4","2.22.3","2.22.2","2.22.1","2.22.0","2.21.5","2.21.4","2.21.3","2.21.2","2.21.1","2.21.0","2.20.4","2.20.3","2.20.2","2.20.1","2.20.0","2.19.5","2.19.4","2.19.3","2.19.2","2.19.1","2.19.0","2.18.5","2.18.4","2.18.3","2.18.2","2.18.1","2.18.0","2.17.7","2.17.6","2.17.5","2.17.4","2.17.3","2.17.2","2.17.1","2.17.0","2.16.5","2.16.4","2.16.3","2.16.2","2.16.1","2.16.0","2.15.6","2.15.5","2.15.4","2.15.3","2.15.2","2.15.1","2.15.0","2.14.4","2.14.3","2.14.2","2.14.1","2.14.0","2.13.4","2.13.3","2.13.2","2.13.1","2.13.0","2.12.5","2.12.4","2.12.3","2.12.2","2.12.1","2.12.0","2.11.4","2.11.3","2.11.2","2.11.1","2.11.0","2.10.7","2.10.6","2.10.5","2.10.4","2.10.3","2.10.2","2.10.1","2.10.0","2.9.8","2.9.7","2.9.6","2.9.5","2.9.4","2.9.3","2.9.2","2.9.1","2.9.0","2.9.0-RC1","2.8.6","2.8.5","2.8.4","2.8.3","2.8.2","2.8.1","2.8.0","2.7.5","2.7.4","2.7.3","2.7.2","2.7.1","2.7.0","2.6.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.0","2.0-M3","2.0-M2","2.0-M1","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.5.0"],"description":"Creates a new Camel component."},{"artifactId":"camel-archetype-component-scala","groupId":"org.apache.camel.archetypes","versions":["2.15.6","2.15.5","2.15.4","2.15.3","2.15.2","2.15.1","2.15.0","2.14.4","2.14.3","2.14.2","2.14.1","2.14.0","2.13.4","2.13.3","2.13.2","2.13.1","2.13.0","2.12.5","2.12.4","2.12.3","2.12.2","2.12.1","2.12.0","2.11.4","2.11.3","2.11.2","2.11.1","2.11.0","2.10.7","2.10.6","2.10.5","2.10.4","2.10.3","2.10.2","2.10.1","2.10.0"],"description":"Creates a new Camel component with Scala."},{"artifactId":"camel-archetype-connector","groupId":"org.apache.camel.archetypes","versions":["2.25.4","2.25.3","2.25.2","2.25.1","2.25.0","2.24.3","2.24.2","2.24.1","2.24.0","2.23.4","2.23.3","2.23.2","2.23.1","2.23.0","2.22.5","2.22.4","2.22.3","2.22.2","2.22.1","2.22.0","2.21.5","2.21.4","2.21.3","2.21.2","2.21.1","2.21.0","2.20.4","2.20.3","2.20.2","2.20.1","2.20.0","2.19.5","2.19.4","2.19.3","2.19.2","2.19.1","2.19.0"],"description":"Creates a new Camel connector."},{"artifactId":"camel-archetype-cxf-code-first-blueprint","groupId":"org.apache.camel.archetypes","versions":["2.17.7","2.17.6","2.17.5","2.17.4","2.17.3","2.17.2","2.17.1","2.17.0","2.16.5","2.16.4","2.16.3","2.16.2","2.16.1","2.16.0","2.15.6","2.15.5","2.15.4","2.15.3","2.15.2","2.15.1","2.15.0","2.14.4","2.14.3","2.14.2","2.14.1","2.14.0","2.13.4","2.13.3","2.13.2","2.13.1","2.13.0","2.12.5","2.12.4","2.12.3","2.12.2"],"description":"Creates a new Camel project with Apache CXF code-first example using OSGi blueprint."},{"artifactId":"camel-archetype-cxf-contract-first-blueprint","groupId":"org.apache.camel.archetypes","versions":["2.17.7","2.17.6","2.17.5","2.17.4","2.17.3","2.17.2","2.17.1","2.17.0","2.16.5","2.16.4","2.16.3","2.16.2","2.16.1","2.16.0","2.15.6","2.15.5","2.15.4","2.15.3","2.15.2","2.15.1","2.15.0","2.14.4","2.14.3","2.14.2","2.14.1","2.14.0","2.13.4","2.13.3","2.13.2","2.13.1","2.13.0","2.12.5","2.12.4","2.12.3","2.12.2","2.12.1"],"description":"Creates a new Camel project with Apache CXF contract-first example using OSGi blueprint."},{"artifactId":"camel-archetype-dataformat","groupId":"org.apache.camel.archetypes","versions":["4.0.0-M1","3.20.2","3.20.1","3.20.0","3.19.0","3.18.5","3.18.4","3.18.3","3.18.2","3.18.1","3.18.0","3.17.0","3.16.0","3.15.0","3.14.7","3.14.6","3.14.5","3.14.4","3.14.3","3.14.2","3.14.1","3.14.0","3.13.0","3.12.0","3.11.7","3.11.6","3.11.5","3.11.4","3.11.3","3.11.2","3.11.1","3.11.0","3.10.0","3.9.0","3.8.0","3.7.7","3.7.6","3.7.5","3.7.4","3.7.3","3.7.2","3.7.1","3.7.0","3.6.0","3.5.0","3.4.6","3.4.5","3.4.4","3.4.3","3.4.2","3.4.1","3.4.0","3.3.0","3.2.0","3.1.0","3.0.1","3.0.0","3.0.0-RC3","3.0.0-RC2","3.0.0-RC1","3.0.0-M4","3.0.0-M3","3.0.0-M2","3.0.0-M1","2.25.4","2.25.3","2.25.2","2.25.1","2.25.0","2.24.3","2.24.2","2.24.1","2.24.0","2.23.4","2.23.3","2.23.2","2.23.1","2.23.0","2.22.5","2.22.4","2.22.3","2.22.2","2.22.1","2.22.0","2.21.5","2.21.4","2.21.3","2.21.2","2.21.1","2.21.0","2.20.4","2.20.3","2.20.2","2.20.1","2.20.0","2.19.5","2.19.4","2.19.3","2.19.2","2.19.1","2.19.0","2.18.5","2.18.4","2.18.3","2.18.2","2.18.1","2.18.0","2.17.7","2.17.6","2.17.5","2.17.4","2.17.3","2.17.2","2.17.1","2.17.0","2.16.5","2.16.4","2.16.3","2.16.2","2.16.1","2.16.0","2.15.6","2.15.5","2.15.4","2.15.3","2.15.2","2.15.1","2.15.0","2.14.4","2.14.3","2.14.2","2.14.1","2.14.0","2.13.4","2.13.3","2.13.2","2.13.1","2.13.0","2.12.5","2.12.4","2.12.3","2.12.2","2.12.1","2.12.0","2.11.4","2.11.3","2.11.2","2.11.1","2.11.0","2.10.7","2.10.6","2.10.5","2.10.4","2.10.3","2.10.2","2.10.1","2.10.0","2.9.8","2.9.7","2.9.6","2.9.5","2.9.4","2.9.3","2.9.2","2.9.1","2.9.0"],"description":"Creates a new Camel data format."},{"artifactId":"camel-archetype-endpointdsl","groupId":"org.apache.camel.archetypes","versions":["3.14.7","3.14.6","3.14.5","3.14.4","3.14.3","3.14.2","3.14.1","3.14.0","3.13.0","3.12.0","3.11.7","3.11.6","3.11.5","3.11.4","3.11.3","3.11.2","3.11.1","3.11.0","3.10.0","3.9.0","3.8.0","3.7.7","3.7.6","3.7.5","3.7.4","3.7.3","3.7.2","3.7.1","3.7.0"],"description":"Creates a new Camel project using Endpoint DSL."},{"artifactId":"camel-archetype-groovy","groupId":"org.apache.camel.archetypes","versions":["2.25.4","2.25.3","2.25.2","2.25.1","2.25.0","2.24.3","2.24.2","2.24.1","2.24.0","2.23.4","2.23.3","2.23.2","2.23.1","2.23.0","2.22.5","2.22.4","2.22.3","2.22.2","2.22.1","2.22.0","2.21.5","2.21.4","2.21.3","2.21.2","2.21.1","2.21.0","2.20.4","2.20.3","2.20.2","2.20.1","2.20.0","2.19.5","2.19.4","2.19.3","2.19.2","2.19.1","2.19.0","2.18.5","2.18.4","2.18.3","2.18.2","2.18.1","2.18.0","2.17.7","2.17.6","2.17.5","2.17.4","2.17.3","2.17.2","2.17.1","2.17.0","2.16.5","2.16.4","2.16.3","2.16.2","2.16.1","2.16.0","2.15.6","2.15.5","2.15.4","2.15.3","2.15.2","2.15.1","2.15.0","2.14.4","2.14.3","2.14.2","2.14.1","2.14.0","2.13.4","2.13.3","2.13.2","2.13.1","2.13.0","2.12.5","2.12.4","2.12.3","2.12.2","2.12.1","2.12.0","2.11.4","2.11.3","2.11.2","2.11.1","2.11.0"],"description":"Creates a new Camel project using Groovy DSL."},{"artifactId":"camel-archetype-java","groupId":"org.apache.camel.archetypes","versions":["4.0.0-M1","3.20.2","3.20.1","3.20.0","3.19.0","3.18.5","3.18.4","3.18.3","3.18.2","3.18.1","3.18.0","3.17.0","3.16.0","3.15.0","3.14.7","3.14.6","3.14.5","3.14.4","3.14.3","3.14.2","3.14.1","3.14.0","3.13.0","3.12.0","3.11.7","3.11.6","3.11.5","3.11.4","3.11.3","3.11.2","3.11.1","3.11.0","3.10.0","3.9.0","3.8.0","3.7.7","3.7.6","3.7.5","3.7.4","3.7.3","3.7.2","3.7.1","3.7.0","3.6.0","3.5.0","3.4.6","3.4.5","3.4.4","3.4.3","3.4.2","3.4.1","3.4.0","3.3.0","3.2.0","3.1.0","3.0.1","3.0.0","3.0.0-RC3","3.0.0-RC2","3.0.0-RC1","3.0.0-M4","3.0.0-M3","3.0.0-M2","3.0.0-M1","2.25.4","2.25.3","2.25.2","2.25.1","2.25.0","2.24.3","2.24.2","2.24.1","2.24.0","2.23.4","2.23.3","2.23.2","2.23.1","2.23.0","2.22.5","2.22.4","2.22.3","2.22.2","2.22.1","2.22.0","2.21.5","2.21.4","2.21.3","2.21.2","2.21.1","2.21.0","2.20.4","2.20.3","2.20.2","2.20.1","2.20.0","2.19.5","2.19.4","2.19.3","2.19.2","2.19.1","2.19.0","2.18.5","2.18.4","2.18.3","2.18.2","2.18.1","2.18.0","2.17.7","2.17.6","2.17.5","2.17.4","2.17.3","2.17.2","2.17.1","2.17.0","2.16.5","2.16.4","2.16.3","2.16.2","2.16.1","2.16.0","2.15.6","2.15.5","2.15.4","2.15.3","2.15.2","2.15.1","2.15.0","2.14.4","2.14.3","2.14.2","2.14.1","2.14.0","2.13.4","2.13.3","2.13.2","2.13.1","2.13.0","2.12.5","2.12.4","2.12.3","2.12.2","2.12.1","2.12.0","2.11.4","2.11.3","2.11.2","2.11.1","2.11.0","2.10.7","2.10.6","2.10.5","2.10.4","2.10.3","2.10.2","2.10.1","2.10.0","2.9.8","2.9.7","2.9.6","2.9.5","2.9.4","2.9.3","2.9.2","2.9.1","2.9.0","2.9.0-RC1","2.8.6","2.8.5","2.8.4","2.8.3","2.8.2","2.8.1","2.8.0","2.7.5","2.7.4","2.7.3","2.7.2","2.7.1","2.7.0","2.6.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.0","2.0-M3","2.0-M2","2.0-M1","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.5.0"],"description":"Creates a new Camel project using Java DSL."},{"artifactId":"camel-archetype-java8","groupId":"org.apache.camel.archetypes","versions":["3.3.0","3.2.0","3.1.0","3.0.1","3.0.0","3.0.0-RC3","3.0.0-RC2","3.0.0-RC1","3.0.0-M4","3.0.0-M3","3.0.0-M2","3.0.0-M1","2.25.4","2.25.3","2.25.2","2.25.1","2.25.0","2.24.3","2.24.2","2.24.1","2.24.0","2.23.4","2.23.3","2.23.2","2.23.1","2.23.0","2.22.5","2.22.4","2.22.3","2.22.2","2.22.1","2.22.0","2.21.5","2.21.4","2.21.3","2.21.2","2.21.1","2.21.0","2.20.4","2.20.3","2.20.2","2.20.1","2.20.0","2.19.5","2.19.4","2.19.3","2.19.2","2.19.1","2.19.0","2.18.5","2.18.4","2.18.3","2.18.2","2.18.1","2.18.0"],"description":"Creates a new Camel project using Java8 DSL."},{"artifactId":"camel-archetype-main","groupId":"org.apache.camel.archetypes","versions":["4.0.0-M1","3.20.2","3.20.1","3.20.0","3.19.0","3.18.5","3.18.4","3.18.3","3.18.2","3.18.1","3.18.0","3.17.0","3.16.0","3.15.0","3.14.7","3.14.6","3.14.5","3.14.4","3.14.3","3.14.2","3.14.1","3.14.0","3.13.0","3.12.0","3.11.7","3.11.6","3.11.5","3.11.4","3.11.3","3.11.2","3.11.1","3.11.0","3.10.0","3.9.0","3.8.0","3.7.7","3.7.6","3.7.5","3.7.4","3.7.3","3.7.2","3.7.1","3.7.0","3.6.0","3.5.0","3.4.6","3.4.5","3.4.4","3.4.3","3.4.2","3.4.1","3.4.0","3.3.0","3.2.0","3.1.0","3.0.1","3.0.0","3.0.0-RC3","3.0.0-RC2","3.0.0-RC1","3.0.0-M4"],"description":"Creates a new Camel project using standalone Camel Main."},{"artifactId":"camel-archetype-scala","groupId":"org.apache.camel.archetypes","versions":["2.25.4","2.25.3","2.25.2","2.25.1","2.25.0","2.24.3","2.24.2","2.24.1","2.24.0","2.23.4","2.23.3","2.23.2","2.23.1","2.23.0","2.22.5","2.22.4","2.22.3","2.22.2","2.22.1","2.22.0","2.21.5","2.21.4","2.21.3","2.21.2","2.21.1","2.21.0","2.20.4","2.20.3","2.20.2","2.20.1","2.20.0","2.19.5","2.19.4","2.19.3","2.19.2","2.19.1","2.19.0","2.18.5","2.18.4","2.18.3","2.18.2","2.18.1","2.18.0","2.17.7","2.17.6","2.17.5","2.17.4","2.17.3","2.17.2","2.17.1","2.17.0","2.16.5","2.16.4","2.16.3","2.16.2","2.16.1","2.16.0","2.15.6","2.15.5","2.15.4","2.15.3","2.15.2","2.15.1","2.15.0","2.14.4","2.14.3","2.14.2","2.14.1","2.14.0","2.13.4","2.13.3","2.13.2","2.13.1","2.13.0","2.12.5","2.12.4","2.12.3","2.12.2","2.12.1","2.12.0","2.11.4","2.11.3","2.11.2","2.11.1","2.11.0","2.10.7","2.10.6","2.10.5","2.10.4","2.10.3","2.10.2","2.10.1","2.10.0","2.9.8","2.9.7","2.9.6","2.9.5","2.9.4","2.9.3","2.9.2","2.9.1","2.9.0","2.9.0-RC1","2.8.6","2.8.5","2.8.4","2.8.3","2.8.2","2.8.1","2.8.0","2.7.5","2.7.4","2.7.3","2.7.2","2.7.1","2.7.0","2.6.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.0","2.0-M3","2.0-M2","2.0-M1","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.5.0"],"description":"Creates a new Camel project using Scala DSL."},{"artifactId":"camel-archetype-scr","groupId":"org.apache.camel.archetypes","versions":["2.25.4","2.25.3","2.25.2","2.25.1","2.25.0","2.24.3","2.24.2","2.24.1","2.24.0","2.23.4","2.23.3","2.23.2","2.23.1","2.23.0","2.22.5","2.22.4","2.22.3","2.22.2","2.22.1","2.22.0","2.21.5","2.21.4","2.21.3","2.21.2","2.21.1","2.21.0","2.20.4","2.20.3","2.20.2","2.20.1","2.20.0","2.19.5","2.19.4","2.19.3","2.19.2","2.19.1","2.19.0","2.18.5","2.18.4","2.18.3","2.18.2","2.18.1","2.18.0","2.17.7","2.17.6","2.17.5","2.17.4","2.17.3","2.17.2","2.17.1","2.17.0","2.16.5","2.16.4","2.16.3","2.16.2","2.16.1","2.16.0","2.15.6","2.15.5","2.15.4","2.15.3","2.15.2","2.15.1","2.15.0"],"description":"Creates a new Camel SCR (Declarative Services) bundle project for OSGi"},{"artifactId":"camel-archetype-spring","groupId":"org.apache.camel.archetypes","versions":["4.0.0-M1","3.20.2","3.20.1","3.20.0","3.19.0","3.18.5","3.18.4","3.18.3","3.18.2","3.18.1","3.18.0","3.17.0","3.16.0","3.15.0","3.14.7","3.14.6","3.14.5","3.14.4","3.14.3","3.14.2","3.14.1","3.14.0","3.13.0","3.12.0","3.11.7","3.11.6","3.11.5","3.11.4","3.11.3","3.11.2","3.11.1","3.11.0","3.10.0","3.9.0","3.8.0","3.7.7","3.7.6","3.7.5","3.7.4","3.7.3","3.7.2","3.7.1","3.7.0","3.6.0","3.5.0","3.4.6","3.4.5","3.4.4","3.4.3","3.4.2","3.4.1","3.4.0","3.3.0","3.2.0","3.1.0","3.0.1","3.0.0","3.0.0-RC3","3.0.0-RC2","3.0.0-RC1","3.0.0-M4","3.0.0-M3","3.0.0-M2","3.0.0-M1","2.25.4","2.25.3","2.25.2","2.25.1","2.25.0","2.24.3","2.24.2","2.24.1","2.24.0","2.23.4","2.23.3","2.23.2","2.23.1","2.23.0","2.22.5","2.22.4","2.22.3","2.22.2","2.22.1","2.22.0","2.21.5","2.21.4","2.21.3","2.21.2","2.21.1","2.21.0","2.20.4","2.20.3","2.20.2","2.20.1","2.20.0","2.19.5","2.19.4","2.19.3","2.19.2","2.19.1","2.19.0","2.18.5","2.18.4","2.18.3","2.18.2","2.18.1","2.18.0","2.17.7","2.17.6","2.17.5","2.17.4","2.17.3","2.17.2","2.17.1","2.17.0","2.16.5","2.16.4","2.16.3","2.16.2","2.16.1","2.16.0","2.15.6","2.15.5","2.15.4","2.15.3","2.15.2","2.15.1","2.15.0","2.14.4","2.14.3","2.14.2","2.14.1","2.14.0","2.13.4","2.13.3","2.13.2","2.13.1","2.13.0","2.12.5","2.12.4","2.12.3","2.12.2","2.12.1","2.12.0","2.11.4","2.11.3","2.11.2","2.11.1","2.11.0","2.10.7","2.10.6","2.10.5","2.10.4","2.10.3","2.10.2","2.10.1","2.10.0","2.9.8","2.9.7","2.9.6","2.9.5","2.9.4","2.9.3","2.9.2","2.9.1","2.9.0","2.9.0-RC1","2.8.6","2.8.5","2.8.4","2.8.3","2.8.2","2.8.1","2.8.0","2.7.5","2.7.4","2.7.3","2.7.2","2.7.1","2.7.0","2.6.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.0","2.0-M3","2.0-M2","2.0-M1","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.5.0"],"description":"Creates a new Camel project with added Spring DSL support."},{"artifactId":"camel-archetype-spring-boot","groupId":"org.apache.camel.archetypes","versions":["4.0.0-M1","3.20.2","3.20.1","3.20.0","3.19.0","3.18.5","3.18.4","3.18.3","3.18.2","3.18.1","3.18.0","3.17.0","3.16.0","3.15.0","3.14.7","3.14.6","3.14.5","3.14.4","3.14.3","3.14.2","3.14.1","3.14.0","3.13.0","3.12.0","3.11.7","3.11.6","3.11.5","3.11.4","3.11.3","3.11.2","3.11.1","3.11.0","3.10.0","3.9.0","3.8.0","3.7.7","3.7.6","3.7.5","3.7.4","3.7.3","3.7.2","3.7.1","3.7.0","3.5.0","3.4.6","3.4.5","3.4.4","3.4.3","3.4.2","3.4.1","3.4.0","3.3.0","3.2.0","3.1.0","3.0.1","3.0.0","3.0.0-RC3","3.0.0-RC2","3.0.0-RC1","3.0.0-M4","3.0.0-M3","3.0.0-M2","3.0.0-M1","2.25.4","2.25.3","2.25.2","2.25.1","2.25.0","2.24.3","2.24.2","2.24.1","2.24.0","2.23.4","2.23.3","2.23.2","2.23.1","2.23.0","2.22.5","2.22.4","2.22.3","2.22.2","2.22.1","2.22.0","2.21.5","2.21.4","2.21.3","2.21.2","2.21.1","2.21.0","2.20.4","2.20.3","2.20.2","2.20.1","2.20.0","2.19.5","2.19.4","2.19.3","2.19.2","2.19.1","2.19.0","2.18.5","2.18.4","2.18.3","2.18.2","2.18.1","2.18.0","2.17.7","2.17.6","2.17.5","2.17.4","2.17.3","2.17.2","2.17.1","2.17.0","2.16.5","2.16.4","2.16.3","2.16.2","2.16.1","2.16.0"],"description":"Creates a new Camel project using Spring Boot."},{"artifactId":"camel-archetype-spring-dm","groupId":"org.apache.camel.archetypes","versions":["2.19.5","2.19.4","2.19.3","2.19.2","2.19.1","2.19.0","2.18.5","2.18.4","2.18.3","2.18.2","2.18.1","2.18.0","2.17.7","2.17.6","2.17.5","2.17.4","2.17.3","2.17.2","2.17.1","2.17.0","2.16.5","2.16.4","2.16.3","2.16.2","2.16.1","2.16.0","2.15.6","2.15.5","2.15.4","2.15.3","2.15.2","2.15.1","2.15.0","2.14.4","2.14.3","2.14.2","2.14.1","2.14.0","2.13.4","2.13.3","2.13.2","2.13.1","2.13.0","2.12.5","2.12.4","2.12.3","2.12.2","2.12.1","2.12.0","2.11.4","2.11.3","2.11.2","2.11.1","2.11.0","2.10.7","2.10.6","2.10.5","2.10.4","2.10.3","2.10.2","2.10.1","2.10.0","2.9.8","2.9.7","2.9.6","2.9.5","2.9.4","2.9.3","2.9.2","2.9.1","2.9.0","2.9.0-RC1","2.8.6","2.8.5","2.8.4","2.8.3","2.8.2","2.8.1","2.8.0"],"description":"Creates a new Camel project with added Spring DSL support. Ready to be deployed in OSGi."},{"artifactId":"camel-archetype-war","groupId":"org.apache.camel.archetypes","versions":["2.6.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.0","2.0-M3","2.0-M2","2.0-M1"],"description":"Creates a new Camel project that deploys the Camel Web Console, REST API, and your routes as a WAR"},{"artifactId":"camel-archetype-web","groupId":"org.apache.camel.archetypes","versions":["3.3.0","3.2.0","3.1.0","3.0.1","3.0.0","3.0.0-RC3","3.0.0-RC2","3.0.0-RC1","3.0.0-M4","3.0.0-M3","3.0.0-M2","3.0.0-M1","2.25.4","2.25.3","2.25.2","2.25.1","2.25.0","2.24.3","2.24.2","2.24.1","2.24.0","2.23.4","2.23.3","2.23.2","2.23.1","2.23.0","2.22.5","2.22.4","2.22.3","2.22.2","2.22.1","2.22.0","2.21.5","2.21.4","2.21.3","2.21.2","2.21.1","2.21.0","2.20.4","2.20.3","2.20.2","2.20.1","2.20.0","2.19.5","2.19.4","2.19.3","2.19.2","2.19.1","2.19.0","2.18.5","2.18.4","2.18.3","2.18.2","2.18.1","2.18.0","2.17.7","2.17.6","2.17.5","2.17.4","2.17.3","2.17.2","2.17.1","2.17.0","2.16.5","2.16.4","2.16.3","2.16.2","2.16.1","2.16.0","2.15.6","2.15.5","2.15.4","2.15.3","2.15.2","2.15.1","2.15.0","2.14.4","2.14.3","2.14.2","2.14.1","2.14.0","2.13.4","2.13.3","2.13.2","2.13.1","2.13.0","2.12.5","2.12.4","2.12.3","2.12.2","2.12.1","2.12.0","2.11.4","2.11.3","2.11.2","2.11.1","2.11.0","2.10.7","2.10.6","2.10.5","2.10.4","2.10.3","2.10.2","2.10.1","2.10.0","2.9.8","2.9.7","2.9.6","2.9.5","2.9.4","2.9.3","2.9.2","2.9.1","2.9.0","2.9.0-RC1","2.8.6","2.8.5","2.8.4","2.8.3","2.8.2","2.8.1","2.8.0","2.7.5","2.7.4","2.7.3","2.7.2","2.7.1","2.7.0"],"description":"Creates a new Camel web project that deploys the Camel routes as a WAR application"},{"artifactId":"camel-archetype-webconsole","groupId":"org.apache.camel.archetypes","versions":["2.14.4","2.14.3","2.14.2","2.14.1","2.14.0","2.13.4","2.13.3","2.13.2","2.13.1","2.13.0","2.12.5","2.12.4","2.12.3","2.12.2","2.12.1","2.12.0","2.11.4","2.11.3","2.11.2","2.11.1","2.11.0","2.10.7","2.10.6","2.10.5","2.10.4","2.10.3","2.10.2","2.10.1","2.10.0","2.9.8","2.9.7","2.9.6","2.9.5","2.9.4","2.9.3","2.9.2","2.9.1","2.9.0","2.9.0-RC1","2.8.6","2.8.5","2.8.4","2.8.3","2.8.2","2.8.1","2.8.0","2.7.5","2.7.4","2.7.3","2.7.2","2.7.1","2.7.0"],"description":"Creates a new Camel project that deploys the Camel Web Console, REST API, and your routes as a WAR"},{"artifactId":"camel-kafka-connector-extensible-apicurio-archetype","groupId":"org.apache.camel.kafkaconnector.archetypes","versions":["3.20.0","3.19.0","3.18.2","3.18.1","1.0.0","0.11.5","0.11.0","0.10.1","0.10.0","0.9.0","0.8.0","0.7.3","0.7.2","0.7.1","0.7.0"]},{"artifactId":"camel-kafka-connector-extensible-archetype","groupId":"org.apache.camel.kafkaconnector.archetypes","versions":["3.20.0","3.19.0","3.18.2","3.18.1","1.0.0","0.11.5","0.11.0","0.10.1","0.10.0","0.9.0","0.8.0","0.7.3","0.7.2","0.7.1","0.7.0","0.6.1","0.6.0","0.5.0","0.4.4","0.4.0"]},{"artifactId":"camel-kafka-connector-extensible-dataformat-archetype","groupId":"org.apache.camel.kafkaconnector.archetypes","versions":["3.20.0","3.19.0","3.18.2","3.18.1","1.0.0","0.11.5","0.11.0","0.10.1","0.10.0","0.9.0","0.8.0","0.7.3","0.7.2","0.7.1","0.7.0"]},{"artifactId":"chemistry-opencmis-server-archetype","groupId":"org.apache.chemistry.opencmis","versions":["1.1.0","1.0.0","0.14.0","0.13.0","0.12.0","0.11.0","0.10.0","0.9.0","0.9.0-beta-1"],"description":"OpenCMIS Server Framework archetype"},{"artifactId":"chemistry-opencmis-server-extension-archetype","groupId":"org.apache.chemistry.opencmis","versions":["1.1.0","1.0.0","0.14.0","0.13.0"],"description":"OpenCMIS Server Extension archetype"},{"artifactId":"internal.archetype","groupId":"org.apache.clerezza","versions":["0.9-incubating"],"description":"Generic archetype for clerezza projects"},{"artifactId":"cocoon-22-archetype-block","groupId":"org.apache.cocoon","versions":["1.0.0","1.0.0-RC2","1.0.0-RC1","1.0.0-M5","1.0.0-M4","1.0.0-M3","1.0.0-M2","1.0.0-M1"]},{"artifactId":"cocoon-22-archetype-block-plain","groupId":"org.apache.cocoon","versions":["1.0.0","1.0.0-RC2","1.0.0-RC1"]},{"artifactId":"cocoon-22-archetype-webapp","groupId":"org.apache.cocoon","versions":["1.0.0","1.0.0-RC2","1.0.0-RC1","1.0.0-M2","1.0.0-M1"]},{"artifactId":"cocoon-archetype-block","groupId":"org.apache.cocoon.archetype-block","versions":["3.0.0-alpha-3","3.0.0-alpha-2","3.0.0-alpha-1"]},{"artifactId":"cocoon-archetype-parent","groupId":"org.apache.cocoon.archetype-parent","versions":["3.0.0-alpha-3","3.0.0-alpha-2","3.0.0-alpha-1"]},{"artifactId":"cocoon-archetype-sample","groupId":"org.apache.cocoon.archetype-sample","versions":["3.0.0-alpha-3","3.0.0-alpha-2","3.0.0-alpha-1"]},{"artifactId":"cocoon-archetype-webapp","groupId":"org.apache.cocoon.archetype-webapp","versions":["3.0.0-alpha-3","3.0.0-alpha-2","3.0.0-alpha-1"]},{"artifactId":"crunch-archetype","groupId":"org.apache.crunch","versions":["1.0.0","0.15.0","0.14.0","0.13.0","0.12.0","0.12.0-hadoop2","0.11.0","0.11.0-hadoop2","0.10.0","0.10.0-hadoop2","0.9.0","0.9.0-hadoop2","0.8.4","0.8.4-hadoop2","0.8.3","0.8.3-hadoop2","0.8.2","0.8.2-hadoop2","0.8.1","0.8.1-hadoop2","0.8.0","0.8.0-hadoop2","0.7.0","0.7.0-hadoop2","0.6.0","0.5.0-incubating","0.4.0-incubating"],"description":"Create a basic, self-contained job for Apache Crunch."},{"artifactId":"cxf-http-basic","groupId":"org.apache.cxf","versions":["2.1.3","2.1.2","2.1.1","2.1","2.0.13","2.0.12","2.0.11","2.0.10","2.0.9","2.0.8","2.0.7","2.0.6"]},{"artifactId":"cxf-jaxrs-service","groupId":"org.apache.cxf.archetype","versions":["4.0.0","3.5.5","3.5.4","3.5.3","3.5.2","3.5.1","3.5.0","3.4.10","3.4.9","3.4.8","3.4.7","3.4.6","3.4.5","3.4.4","3.4.3","3.4.2","3.4.1","3.4.0","3.3.13","3.3.12","3.3.11","3.3.10","3.3.9","3.3.8","3.3.7","3.3.6","3.3.5","3.3.4","3.3.3","3.3.2","3.3.1","3.3.0","3.2.14","3.2.13","3.2.12","3.2.11","3.2.10","3.2.9","3.2.8","3.2.7","3.2.6","3.2.5","3.2.4","3.2.3","3.2.2","3.2.1","3.2.0","3.1.18","3.1.17","3.1.16","3.1.15","3.1.14","3.1.13","3.1.12","3.1.11","3.1.10","3.1.9","3.1.8","3.1.7","3.1.6","3.1.5","3.1.4","3.1.3","3.1.2","3.1.1","3.1.0","3.0.16","3.0.15","3.0.14","3.0.13","3.0.12","3.0.11","3.0.10","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","3.0.0-milestone2","3.0.0-milestone1","2.7.18","2.7.17","2.7.16","2.7.15","2.7.14","2.7.13","2.7.12","2.7.11","2.7.10","2.7.9","2.7.8","2.7.7","2.7.6","2.7.5","2.7.4","2.7.3","2.7.2","2.7.1","2.7.0","2.6.17","2.6.16","2.6.15","2.6.14","2.6.13","2.6.12","2.6.11","2.6.10","2.6.9","2.6.8","2.6.7","2.6.6","2.6.5","2.6.4","2.6.3","2.6.2","2.6.1","2.6.0","2.5.11","2.5.10","2.5.9","2.5.8","2.5.7","2.5.6","2.5.5","2.5.4","2.5.3","2.5.2","2.5.1"],"description":"Simple CXF JAX-RS webapp service using Spring configuration"},{"artifactId":"cxf-jaxws-javafirst","groupId":"org.apache.cxf.archetype","versions":["4.0.0","3.5.5","3.5.4","3.5.3","3.5.2","3.5.1","3.5.0","3.4.10","3.4.9","3.4.8","3.4.7","3.4.6","3.4.5","3.4.4","3.4.3","3.4.2","3.4.1","3.4.0","3.3.13","3.3.12","3.3.11","3.3.10","3.3.9","3.3.8","3.3.7","3.3.6","3.3.5","3.3.4","3.3.3","3.3.2","3.3.1","3.3.0","3.2.14","3.2.13","3.2.12","3.2.11","3.2.10","3.2.9","3.2.8","3.2.7","3.2.6","3.2.5","3.2.4","3.2.3","3.2.2","3.2.1","3.2.0","3.1.18","3.1.17","3.1.16","3.1.15","3.1.14","3.1.13","3.1.12","3.1.11","3.1.10","3.1.9","3.1.8","3.1.7","3.1.6","3.1.5","3.1.4","3.1.3","3.1.2","3.1.1","3.1.0","3.0.16","3.0.15","3.0.14","3.0.13","3.0.12","3.0.11","3.0.10","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","3.0.0-milestone2","3.0.0-milestone1","2.7.18","2.7.17","2.7.16","2.7.15","2.7.14","2.7.13","2.7.12","2.7.11","2.7.10","2.7.9","2.7.8","2.7.7","2.7.6","2.7.5","2.7.4","2.7.3","2.7.2","2.7.1","2.7.0","2.6.17","2.6.16","2.6.15","2.6.14","2.6.13","2.6.12","2.6.11","2.6.10","2.6.9","2.6.8","2.6.7","2.6.6","2.6.5","2.6.4","2.6.3","2.6.2","2.6.1","2.6.0","2.5.11","2.5.10","2.5.9","2.5.8","2.5.7","2.5.6","2.5.5","2.5.4","2.5.3","2.5.2","2.5.1","2.5.0","2.4.10","2.4.9","2.4.8","2.4.7","2.4.6","2.4.5","2.4.4","2.4.3","2.4.2","2.4.1","2.4.0","2.3.11","2.3.10","2.3.9","2.3.8","2.3.7","2.3.6","2.3.5","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0","2.2.12","2.2.11","2.2.10","2.2.9","2.2.8","2.2.7","2.2.6","2.2.5","2.2.4","2.2.3","2.2.2","2.2.1","2.2","2.1.10","2.1.9","2.1.8","2.1.7","2.1.6","2.1.5","2.1.4"],"description":"Creates a project for developing a Web service starting from Java code"},{"artifactId":"cxf-jaxws-wsdlfirst","groupId":"org.apache.cxf.archetype","versions":["4.0.0","3.5.5","3.5.4","3.5.3","3.5.2","3.5.1","3.5.0","3.4.10","3.4.9","3.4.8","3.4.7","3.4.6","3.4.5","3.4.4","3.4.3","3.4.2","3.4.1","3.4.0","3.3.13","3.3.12","3.3.11","3.3.10","3.3.9","3.3.8","3.3.7","3.3.6","3.3.5","3.3.4","3.3.3","3.3.2","3.3.1","3.3.0","3.2.14","3.2.13","3.2.12","3.2.11","3.2.10","3.2.9","3.2.8","3.2.7","3.2.6","3.2.5","3.2.4","3.2.3","3.2.2","3.2.1","3.2.0"],"description":"Creates a contract (WSDL)-first CXF web service"},{"artifactId":"server-example-archetype","groupId":"org.apache.directmemory.server","versions":["0.2","0.1-incubating"]},{"artifactId":"apacheds-schema-archetype","groupId":"org.apache.directory.server","versions":["1.0.2","1.0.1","1.0.0"]},{"artifactId":"apacheds-testcase-archetype","groupId":"org.apache.directory.server","versions":["1.0.2","1.0.1","1.0.0"]},{"artifactId":"maven-ipojo-plugin","groupId":"org.apache.felix","versions":["1.12.1","1.12.0","1.11.2","1.11.1","1.11.0","1.10.1","1.10.0","1.8.6","1.8.4","1.8.2","1.8.0","1.6.0","1.4.2","1.4.0","1.2.0","1.0.0","0.8.0"],"description":"Maven Plugin to package iPOJO-powered bundles."},{"artifactId":"blazeds-spring-boot-example-archetype","groupId":"org.apache.flex.blazeds","versions":["4.7.3"]},{"artifactId":"flexjs-simple-application-archetype","groupId":"org.apache.flex.flexjs.framework","versions":["0.8.0"],"description":"Maven archetype for creating FlexJS Maven project for building a simple FlexJS application with both Flash and JavaScript output."},{"artifactId":"flexjs-simple-application-pure-js-archetype","groupId":"org.apache.flex.flexjs.framework","versions":["0.8.0"],"description":"Maven archetype for creating FlexJS Maven project for building a simple FlexJS application with only JavaScript output."},{"artifactId":"flexjs-simple-application-pure-swf-archetype","groupId":"org.apache.flex.flexjs.framework","versions":["0.8.0"],"description":"Maven archetype for creating FlexJS Maven project for building a simple FlexJS application with only Flash output."},{"artifactId":"flexjs-simple-library-archetype","groupId":"org.apache.flex.flexjs.framework","versions":["0.8.0"],"description":"Maven archetype for creating FlexJS Maven project for building a simple FlexJS library."},{"artifactId":"flexjs-simple-typedef-archetype","groupId":"org.apache.flex.flexjs.framework","versions":["0.8.0"],"description":"Maven archetype for creating FlexJS Maven project for building a simple FlexJS typedef library."},{"artifactId":"flink-quickstart-java","groupId":"org.apache.flink","versions":["1.16.1","1.16.0","1.15.3","1.15.2","1.15.1","1.15.0","1.14.6","1.14.5","1.14.4","1.14.3","1.14.2","1.14.1","1.14.0","1.13.6","1.13.5","1.13.4","1.13.3","1.13.2","1.13.1","1.13.0","1.12.7","1.12.6","1.12.5","1.12.4","1.12.3","1.12.2","1.12.1","1.12.0","1.11.6","1.11.5","1.11.4","1.11.3","1.11.2","1.11.1","1.11.0","1.10.3","1.10.2","1.10.1","1.10.0","1.9.3","1.9.2","1.9.1","1.9.0","1.8.3","1.8.2","1.8.1","1.8.0","1.7.2","1.7.1","1.7.0","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.5.6","1.5.5","1.5.4","1.5.3","1.5.2","1.5.1","1.5.0","1.4.2","1.4.1","1.4.0","1.3.3","1.3.2","1.3.1","1.3.0","1.2.1","1.2.0","1.1.5","1.1.5-hadoop1","1.1.4","1.1.4-hadoop1","1.1.3","1.1.3-hadoop1","1.1.2","1.1.2-hadoop1","1.1.1","1.1.1-hadoop1","1.1.0","1.0.3","1.0.3-hadoop1","1.0.2","1.0.2-hadoop1","1.0.1","1.0.1-hadoop1","1.0.0","1.0.0-hadoop1","0.10.2","0.10.2-hadoop1","0.10.1","0.10.1-hadoop1","0.10.0","0.10.0-hadoop1","0.9.1","0.9.1-hadoop1","0.9.0","0.9.0-milestone-1","0.9.0-milestone-1-hadoop1","0.9.0-hadoop1","0.8.1","0.8.1-hadoop1","0.8.0","0.8.0-hadoop1","0.7.0-incubating","0.7.0-hadoop2-incubating","0.6.1-incubating","0.6.1-hadoop2-incubating","0.6-incubating","0.6-hadoop2-incubating"]},{"artifactId":"flink-quickstart-java_2.11","groupId":"org.apache.flink","versions":["0.10.2","0.10.1","0.10.0"]},{"artifactId":"flink-quickstart-scala","groupId":"org.apache.flink","versions":["1.16.1","1.16.0","1.15.3","1.15.2","1.15.1","1.15.0","1.14.6","1.14.5","1.14.4","1.14.3","1.14.2","1.14.1","1.14.0","1.13.6","1.13.5","1.13.4","1.13.3","1.13.2","1.13.1","1.13.0","1.12.7","1.12.6","1.12.5","1.12.4","1.12.3","1.12.2","1.12.1","1.12.0","1.11.6","1.11.5","1.11.4","1.11.3","1.11.2","1.11.1","1.11.0","1.10.3","1.10.2","1.10.1","1.10.0","1.9.3","1.9.2","1.9.1","1.9.0","1.8.3","1.8.2","1.8.1","1.8.0","1.7.2","1.7.1","1.7.0","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.5.6","1.5.5","1.5.4","1.5.3","1.5.2","1.5.1","1.5.0","1.4.2","1.4.1","1.4.0","1.3.3","1.3.2","1.3.1","1.3.0","1.2.1","1.2.0","1.1.5","1.1.5-hadoop1","1.1.4","1.1.4-hadoop1","1.1.3","1.1.3-hadoop1","1.1.2","1.1.2-hadoop1","1.1.1","1.1.1-hadoop1","1.1.0","1.0.3","1.0.3-hadoop1","1.0.2","1.0.2-hadoop1","1.0.1","1.0.1-hadoop1","1.0.0","1.0.0-hadoop1","0.10.2","0.10.2-hadoop1","0.10.1","0.10.1-hadoop1","0.10.0","0.10.0-hadoop1","0.9.1","0.9.1-hadoop1","0.9.0","0.9.0-milestone-1","0.9.0-milestone-1-hadoop1","0.9.0-hadoop1","0.8.1","0.8.1-hadoop1","0.8.0","0.8.0-hadoop1","0.7.0-incubating","0.7.0-hadoop2-incubating","0.6.1-incubating","0.6.1-hadoop2-incubating","0.6-incubating","0.6-hadoop2-incubating"]},{"artifactId":"flink-quickstart-scala_2.11","groupId":"org.apache.flink","versions":["0.10.2","0.10.1","0.10.0"]},{"artifactId":"flink-walkthrough-datastream-java","groupId":"org.apache.flink","versions":["1.16.1","1.16.0","1.15.3","1.15.2","1.15.1","1.15.0","1.14.6","1.14.5","1.14.4","1.14.3","1.14.2","1.14.1","1.14.0","1.13.6","1.13.5","1.13.4","1.13.3","1.13.2","1.13.1","1.13.0","1.12.7","1.12.6","1.12.5","1.12.4","1.12.3","1.12.2","1.12.1","1.12.0","1.11.6","1.11.5","1.11.4","1.11.3","1.11.2","1.11.1","1.11.0","1.10.3","1.10.2","1.10.1","1.10.0"]},{"artifactId":"flink-walkthrough-datastream-scala","groupId":"org.apache.flink","versions":["1.16.1","1.16.0","1.15.3","1.15.2","1.15.1","1.15.0","1.14.6","1.14.5","1.14.4","1.14.3","1.14.2","1.14.1","1.14.0","1.13.6","1.13.5","1.13.4","1.13.3","1.13.2","1.13.1","1.13.0","1.12.7","1.12.6","1.12.5","1.12.4","1.12.3","1.12.2","1.12.1","1.12.0","1.11.6","1.11.5","1.11.4","1.11.3","1.11.2","1.11.1","1.11.0","1.10.3","1.10.2","1.10.1","1.10.0"]},{"artifactId":"flink-walkthrough-table-java","groupId":"org.apache.flink","versions":["1.11.1","1.11.0","1.10.3","1.10.2","1.10.1","1.10.0"]},{"artifactId":"flink-walkthrough-table-scala","groupId":"org.apache.flink","versions":["1.11.1","1.11.0","1.10.3","1.10.2","1.10.1","1.10.0"]},{"artifactId":"statefun-quickstart","groupId":"org.apache.flink","versions":["2.2.2","2.2.1","2.2.0","2.1.0","2.0.0"]},{"artifactId":"geronimo-archetype-testsuite","groupId":"org.apache.geronimo.buildsupport","versions":["2.1.8","2.1.7","2.1.6","2.1.5","2.1.4","2.1.3","2.1.2","2.1.1","2.1"],"description":"Plugin to help create a testsuite"},{"artifactId":"geronimo-assembly-archetype","groupId":"org.apache.geronimo.buildsupport","versions":["3.0.1","3.0.0","3.0-beta-1","3.0-M1","2.2.1","2.2","2.1.8","2.1.7","2.1.6","2.1.5","2.1.4","2.1.3","2.1.2","2.1.1"]},{"artifactId":"geronimo-plugin-archetype","groupId":"org.apache.geronimo.buildsupport","versions":["3.0.1","3.0.0","3.0-beta-1","3.0-M1","2.2.1","2.2","2.1.8","2.1.7","2.1.6","2.1.5","2.1.4","2.1.3","2.1.2","2.1.1"]},{"artifactId":"geronimo-archetype-testsuite","groupId":"org.apache.geronimo.plugins","versions":["2.0.2","2.0.1"],"description":"Plugin to help create a testsuite"},{"artifactId":"geronimo-samples-archetype","groupId":"org.apache.geronimo.samples","versions":["3.0.0","3.0-beta-1","3.0-M1","2.2.1","2.2","2.1.7","2.1.2"],"description":"Plugin to help create a samples project"},{"artifactId":"quickstart-archetype","groupId":"org.apache.isis","versions":["0.2.0-incubating","0.1.2-incubating"]},{"artifactId":"helloworld-archetype","groupId":"org.apache.isis.archetype","versions":["2.0.0-M2","2.0.0-M1","1.17.0","1.16.2","1.16.1","1.16.0","1.15.1","1.15.0"],"description":"This module defines a standard parent POM to use for various Incode applications and modules. \n Its primary purpose is to make it easy to use a set up maven mixins (https://github.com/odavid/maven-plugins)\n within child POMs. Specifically this means locking down the versions of plugins using pluginManagement.\n \n It does NOT define any mixins for Apache Isis."},{"artifactId":"quickstart_wicket_restful_jdo-archetype","groupId":"org.apache.isis.archetype","versions":["1.5.0","1.4.1","1.4.0","1.3.1","1.3.0","1.0.3","1.0.2","1.0.1","1.0.0"]},{"artifactId":"simple_wicket_restful_jdo-archetype","groupId":"org.apache.isis.archetype","versions":["1.5.0","1.4.1","1.4.0","1.3.1","1.3.0"]},{"artifactId":"simpleapp-archetype","groupId":"org.apache.isis.archetype","versions":["2.0.0-M2","2.0.0-M1","1.17.0","1.16.2","1.16.1","1.16.0","1.15.1","1.15.0","1.14.0","1.13.2","1.13.1","1.13.0","1.12.2","1.12.1","1.12.0","1.11.1","1.11.0","1.10.0","1.9.0","1.8.0","1.7.0","1.6.0","1.13.2.1"],"description":"This module defines a standard parent POM to use for various Incode applications and modules. \n Its primary purpose is to make it easy to use a set up maven mixins (https://github.com/odavid/maven-plugins)\n within child POMs. Specifically this means locking down the versions of plugins using pluginManagement.\n \n It does NOT define any mixins for Apache Isis."},{"artifactId":"todoapp-archetype","groupId":"org.apache.isis.archetype","versions":["1.7.0","1.6.0"]},{"artifactId":"streams-quickstart-java","groupId":"org.apache.kafka","versions":["3.4.0","3.3.2","3.3.1","3.3.0","3.2.3","3.2.2","3.2.1","3.2.0","3.1.2","3.1.1","3.1.0","3.0.2","3.0.1","3.0.0","2.8.2","2.8.1","2.8.0","2.7.2","2.7.1","2.7.0","2.6.3","2.6.2","2.6.1","2.6.0","2.5.1","2.5.0","2.4.1","2.4.0","2.3.1","2.3.0","2.2.2","2.2.1","2.2.0","2.1.1","2.1.0","2.0.1","2.0.0","1.1.1","1.1.0","1.0.2","1.0.1","1.0.0","0.11.0.3","0.11.0.2","0.11.0.1"]},{"artifactId":"archetypes-command","groupId":"org.apache.karaf.archetypes","versions":["2.2.4","2.2.3","2.2.2","2.2.1","2.2.0","2.1.6","2.1.5","2.1.4","2.1.3","2.1.2","2.1.1","2.1.0"]},{"artifactId":"karaf-assembly-archetype","groupId":"org.apache.karaf.archetypes","versions":["4.4.3","4.4.2","4.4.1","4.4.0","4.3.9","4.3.8","4.3.7","4.3.6","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3.0","4.2.16","4.2.15","4.2.14","4.2.13","4.2.12","4.2.11","4.2.10","4.2.9","4.2.8","4.2.7","4.2.6","4.2.5","4.2.4","4.2.3","4.2.2","4.2.1","4.2.0","4.1.7","4.1.6","4.1.5","4.1.4","4.1.3","4.1.2","4.1.1","4.1.0","4.0.10","4.0.9","4.0.8","4.0.7","4.0.6","4.0.5","4.0.4","4.0.3","4.0.2","4.0.1","4.0.0","3.0.10","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.4.4","2.4.3","2.4.2","2.4.1","2.4.0","2.3.12","2.3.11","2.3.10","2.3.9","2.3.8","2.3.7","2.3.6","2.3.5","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0","2.2.11","2.2.10","2.2.9","2.2.8","2.2.7","2.2.6","2.2.5","4.3.0.RC1","4.2.0.M2","4.2.0.M1","4.0.0.M3","4.0.0.M2","4.0.0.M1","3.0.0.RC1"],"description":"This archetype sets up an empty karaf assembly project."},{"artifactId":"karaf-blueprint-archetype","groupId":"org.apache.karaf.archetypes","versions":["4.4.3","4.4.2","4.4.1","4.4.0","4.3.9","4.3.8","4.3.7","4.3.6","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3.0","4.2.16","4.2.15","4.2.14","4.2.13","4.2.12","4.2.11","4.2.10","4.2.9","4.2.8","4.2.7","4.2.6","4.2.5","4.2.4","4.2.3","4.2.2","4.2.1","4.2.0","4.1.7","4.1.6","4.1.5","4.1.4","4.1.3","4.1.2","4.1.1","4.1.0","4.0.10","4.0.9","4.0.8","4.0.7","4.0.6","4.0.5","4.0.4","4.0.3","4.0.2","4.0.1","4.0.0","3.0.10","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.4.4","2.4.3","2.4.2","2.4.1","2.4.0","2.3.12","2.3.11","2.3.10","2.3.9","2.3.8","2.3.7","2.3.6","2.3.5","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0","2.2.11","2.2.10","2.2.9","2.2.8","2.2.7","2.2.6","2.2.5","4.3.0.RC1","4.2.0.M2","4.2.0.M1","4.0.0.M3","4.0.0.M2","4.0.0.M1","3.0.0.RC1"],"description":"An archetype for creating a simple blueprint bundle."},{"artifactId":"karaf-bundle-archetype","groupId":"org.apache.karaf.archetypes","versions":["4.4.3","4.4.2","4.4.1","4.4.0","4.3.9","4.3.8","4.3.7","4.3.6","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3.0","4.2.16","4.2.15","4.2.14","4.2.13","4.2.12","4.2.11","4.2.10","4.2.9","4.2.8","4.2.7","4.2.6","4.2.5","4.2.4","4.2.3","4.2.2","4.2.1","4.2.0","4.1.7","4.1.6","4.1.5","4.1.4","4.1.3","4.1.2","4.1.1","4.1.0","4.0.10","4.0.9","4.0.8","4.0.7","4.0.6","4.0.5","4.0.4","4.0.3","4.0.2","4.0.1","4.0.0","3.0.10","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.4.4","2.4.3","2.4.2","2.4.1","2.4.0","2.3.12","2.3.11","2.3.10","2.3.9","2.3.8","2.3.7","2.3.6","2.3.5","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0","2.2.11","2.2.10","2.2.9","2.2.8","2.2.7","2.2.6","2.2.5","4.3.0.RC1","4.2.0.M2","4.2.0.M1","4.0.0.M3","4.0.0.M2","4.0.0.M1","3.0.0.RC1"],"description":"A simple bundle archetype."},{"artifactId":"karaf-command-archetype","groupId":"org.apache.karaf.archetypes","versions":["4.4.3","4.4.2","4.4.1","4.4.0","4.3.9","4.3.8","4.3.7","4.3.6","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3.0","4.2.16","4.2.15","4.2.14","4.2.13","4.2.12","4.2.11","4.2.10","4.2.9","4.2.8","4.2.7","4.2.6","4.2.5","4.2.4","4.2.3","4.2.2","4.2.1","4.2.0","4.1.7","4.1.6","4.1.5","4.1.4","4.1.3","4.1.2","4.1.1","4.1.0","4.0.10","4.0.9","4.0.8","4.0.7","4.0.6","4.0.5","4.0.4","4.0.3","4.0.2","4.0.1","4.0.0","3.0.10","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.4.4","2.4.3","2.4.2","2.4.1","2.4.0","2.3.12","2.3.11","2.3.10","2.3.9","2.3.8","2.3.7","2.3.6","2.3.5","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0","2.2.11","2.2.10","2.2.9","2.2.8","2.2.7","2.2.6","2.2.5","4.3.0.RC1","4.2.0.M2","4.2.0.M1","4.0.0.M3","4.0.0.M2","4.0.0.M1","3.0.0.RC1"],"description":"A Karaf command archetype."},{"artifactId":"karaf-feature-archetype","groupId":"org.apache.karaf.archetypes","versions":["4.4.3","4.4.2","4.4.1","4.4.0","4.3.9","4.3.8","4.3.7","4.3.6","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3.0","4.2.16","4.2.15","4.2.14","4.2.13","4.2.12","4.2.11","4.2.10","4.2.9","4.2.8","4.2.7","4.2.6","4.2.5","4.2.4","4.2.3","4.2.2","4.2.1","4.2.0","4.1.7","4.1.6","4.1.5","4.1.4","4.1.3","4.1.2","4.1.1","4.1.0","4.0.10","4.0.9","4.0.8","4.0.7","4.0.6","4.0.5","4.0.4","4.0.3","4.0.2","4.0.1","4.0.0","3.0.10","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.4.4","2.4.3","2.4.2","2.4.1","2.4.0","2.3.12","2.3.11","2.3.10","2.3.9","2.3.8","2.3.7","2.3.6","2.3.5","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0","2.2.11","2.2.10","2.2.9","2.2.8","2.2.7","2.2.6","2.2.5","4.3.0.RC1","4.2.0.M2","4.2.0.M1","4.0.0.M3","4.0.0.M2","4.0.0.M1","3.0.0.RC1"],"description":"This archetype sets up an empty karaf features project."},{"artifactId":"karaf-kar-archetype","groupId":"org.apache.karaf.archetypes","versions":["4.4.3","4.4.2","4.4.1","4.4.0","4.3.9","4.3.8","4.3.7","4.3.6","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3.0","4.2.16","4.2.15","4.2.14","4.2.13","4.2.12","4.2.11","4.2.10","4.2.9","4.2.8","4.2.7","4.2.6","4.2.5","4.2.4","4.2.3","4.2.2","4.2.1","4.2.0","4.1.7","4.1.6","4.1.5","4.1.4","4.1.3","4.1.2","4.1.1","4.1.0","4.0.10","4.0.9","4.0.8","4.0.7","4.0.6","4.0.5","4.0.4","4.0.3","4.0.2","4.0.1","4.0.0","3.0.10","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.4.4","2.4.3","2.4.2","2.4.1","2.4.0","2.3.12","2.3.11","2.3.10","2.3.9","2.3.8","2.3.7","2.3.6","2.3.5","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0","2.2.11","2.2.10","2.2.9","2.2.8","2.2.7","2.2.6","2.2.5","4.3.0.RC1","4.2.0.M2","4.2.0.M1","4.0.0.M3","4.0.0.M2","4.0.0.M1","3.0.0.RC1"],"description":"This archetype sets up an empty karaf kar project."},{"artifactId":"eik-camel-archetype","groupId":"org.apache.karaf.eik.archetypes","versions":["0.9.0"],"description":"Camel PDE plugin to be used in EIK"},{"artifactId":"marmotta-archetype-module","groupId":"org.apache.marmotta","versions":["3.4.0","3.3.0","3.2.1","3.2.0","3.1.0-incubating","3.0.1","3.0.0-incubating"],"description":"This Maven Archetype allows creating the basic structure for an Marmotta Module"},{"artifactId":"marmotta-archetype-webapp","groupId":"org.apache.marmotta","versions":["3.4.0","3.3.0","3.2.1","3.2.0","3.1.0-incubating","3.0.1","3.0.0-incubating"],"description":"Web Application bundle (WAR file) containing Apache Marmotta"},{"artifactId":"maven-archetype-archetype","groupId":"org.apache.maven.archetypes","versions":["1.4","1.3","1.0","1.0-alpha-4"],"description":"An archetype which contains a sample archetype."},{"artifactId":"maven-archetype-j2ee-simple","groupId":"org.apache.maven.archetypes","versions":["1.4","1.3","1.0","1.0-alpha-4"],"description":"An archetype which contains a simplified sample J2EE application."},{"artifactId":"maven-archetype-marmalade-mojo","groupId":"org.apache.maven.archetypes","versions":["1.0-alpha-3","1.0-alpha-2","1.0-alpha-1"]},{"artifactId":"maven-archetype-mojo","groupId":"org.apache.maven.archetypes","versions":["1.0","1.0-alpha-4","1.0-alpha-3","1.0-alpha-2","1.0-alpha-1"],"description":"An archetype which contains a sample a sample Maven plugin."},{"artifactId":"maven-archetype-plugin","groupId":"org.apache.maven.archetypes","versions":["1.4","1.3","1.2","1.1","1.0"],"description":"An archetype which contains a sample Maven plugin."},{"artifactId":"maven-archetype-plugin-site","groupId":"org.apache.maven.archetypes","versions":["1.4","1.3","1.1","1.0"],"description":"An archetype which contains a sample Maven plugin site. This archetype can be layered upon an\n existing Maven plugin project."},{"artifactId":"maven-archetype-portlet","groupId":"org.apache.maven.archetypes","versions":["1.4","1.3","1.0.1","1.0","1.0-alpha-4"],"description":"An archetype which contains a sample JSR-268 Portlet."},{"artifactId":"maven-archetype-profiles","groupId":"org.apache.maven.archetypes","versions":["1.0-alpha-4"]},{"artifactId":"maven-archetype-quickstart","groupId":"org.apache.maven.archetypes","versions":["1.4","1.3","1.1","1.0","1.0-alpha-4","1.0-alpha-3","1.0-alpha-2","1.0-alpha-1"],"description":"An archetype which contains a sample Maven project."},{"artifactId":"maven-archetype-simple","groupId":"org.apache.maven.archetypes","versions":["1.4","1.3"],"description":"An archetype which contains a simple Maven project."},{"artifactId":"maven-archetype-site","groupId":"org.apache.maven.archetypes","versions":["1.4","1.3","1.1","1.0","1.0-alpha-4","1.0-alpha-2"],"description":"An archetype which contains a sample Maven site which demonstrates some of the supported document types like\n APT, XDoc, and FML and demonstrates how to i18n your site. This archetype can be layered\n upon an existing Maven project."},{"artifactId":"maven-archetype-site-simple","groupId":"org.apache.maven.archetypes","versions":["1.4","1.3","1.1","1.0","1.0-alpha-4"],"description":"An archetype which contains a sample Maven site."},{"artifactId":"maven-archetype-site-skin","groupId":"org.apache.maven.archetypes","versions":["1.4","1.3"],"description":"An archetype which contains a sample Maven Site Skin."},{"artifactId":"maven-archetype-webapp","groupId":"org.apache.maven.archetypes","versions":["1.4","1.3","1.0","1.0-alpha-4","1.0-alpha-3","1.0-alpha-2","1.0-alpha-1"],"description":"An archetype which contains a sample Maven Webapp project."},{"artifactId":"myfaces-archetype-codi-jsf12","groupId":"org.apache.myfaces.buildtools","versions":["1.0.4","1.0.3"],"description":"Archetype to create a new JSF 1.2 webapp based on MyFaces CODI"},{"artifactId":"myfaces-archetype-codi-jsf20","groupId":"org.apache.myfaces.buildtools","versions":["1.0.4","1.0.3"],"description":"Archetype to create a new JSF 2.0 webapp based on MyFaces CODI"},{"artifactId":"myfaces-archetype-core-integration-test","groupId":"org.apache.myfaces.buildtools","versions":["1.0.4"],"description":"Archetype to create a new MyFaces core project used for integration tests via cargo and HtmlUnit.\n Projects created via this archetype aim to test specific issues from the MyFaces core JIRA issue\n tracker and can be directly added to the MyFaces core integration-tests module."},{"artifactId":"myfaces-archetype-helloworld","groupId":"org.apache.myfaces.buildtools","versions":["1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Archetype to create a new webapp based on myfaces"},{"artifactId":"myfaces-archetype-helloworld-facelets","groupId":"org.apache.myfaces.buildtools","versions":["1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Archetype to create a new webapp based on MyFaces and Facelets"},{"artifactId":"myfaces-archetype-helloworld-portlets","groupId":"org.apache.myfaces.buildtools","versions":["1.0.4","1.0.3","1.0.2","1.0.1"],"description":"Archetype to create a new portlet webapp based on myfaces"},{"artifactId":"myfaces-archetype-helloworld20","groupId":"org.apache.myfaces.buildtools","versions":["1.0.4","1.0.3","1.0.2"],"description":"Archetype to create a new webapp based on MyFaces 2.0"},{"artifactId":"myfaces-archetype-helloworld20-debug","groupId":"org.apache.myfaces.buildtools","versions":["1.0.4"],"description":"Archetype to create a new webapp based on MyFaces 2.0, specially for debug issues"},{"artifactId":"myfaces-archetype-helloworld20-owb","groupId":"org.apache.myfaces.buildtools","versions":["1.0.4","1.0.3","1.0.2"],"description":"Archetype to create a new webapp based on MyFaces 2.0 with OpenWebBeans"},{"artifactId":"myfaces-archetype-jsfcomponents","groupId":"org.apache.myfaces.buildtools","versions":["1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Archetype to create a libary project of JSF components"},{"artifactId":"myfaces-archetype-jsfcomponents20","groupId":"org.apache.myfaces.buildtools","versions":["1.0.4","1.0.3"],"description":"Archetype to create a libary project of JSF 2.0 components"},{"artifactId":"myfaces-archetype-trinidad","groupId":"org.apache.myfaces.buildtools","versions":["1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Archetype to create a new webapp based on Trinidad"},{"artifactId":"myfaces-archetype-trinidad20","groupId":"org.apache.myfaces.buildtools","versions":["1.0.4","1.0.3","1.0.2"],"description":"Archetype to create a new webapp based on Trinidad and JSF 2.0"},{"artifactId":"myfaces-archetype-trinidad","groupId":"org.apache.myfaces.trinidadbuild","versions":["1.0.1"],"description":"Archetype to ease the burden of creating a new application based with Trinidad"},{"artifactId":"nbm-archetype","groupId":"org.apache.netbeans.archetypes","versions":["1.17","1.16"],"description":"Archetype for development of NetBeans modules in Maven."},{"artifactId":"nbm-suite-root","groupId":"org.apache.netbeans.archetypes","versions":["1.12","1.11"],"description":"Root project archetype for creating multi module projects developing NetBeans IDE modules. Approximately similar in functionality to module suites in NetBeans Ant projects."},{"artifactId":"netbeans-platform-app-archetype","groupId":"org.apache.netbeans.archetypes","versions":["1.22","1.21"],"description":"Archetype for sample application based on NetBeans Platform. Creates parent POM with branding and empty NBM project."},{"artifactId":"nifi-processor-bundle-archetype","groupId":"org.apache.nifi","versions":["1.20.0","1.19.1","1.19.0","1.18.0","1.17.0","1.16.3","1.16.2","1.16.1","1.16.0","1.15.3","1.15.2","1.15.1","1.15.0","1.14.0","1.13.2","1.13.1","1.13.0","1.12.1","1.12.0","1.11.4","1.11.3","1.11.2","1.11.1","1.11.0","1.10.0","1.9.2","1.9.1","1.9.0","1.8.0","1.7.1","1.7.0","1.6.0","1.5.0","1.4.0","1.3.0","1.2.0","1.1.2","1.1.1","1.1.0","1.0.1","1.0.0","1.0.0-BETA","0.7.4","0.7.3","0.7.2","0.7.1","0.7.0","0.6.1","0.6.0","0.5.1","0.5.0","0.4.1","0.4.0","0.3.0","0.2.1","0.2.0-incubating","0.1.0-incubating","0.0.2-incubating"]},{"artifactId":"nifi-service-bundle-archetype","groupId":"org.apache.nifi","versions":["1.20.0","1.19.1","1.19.0","1.18.0","1.17.0","1.16.3","1.16.2","1.16.1","1.16.0","1.15.3","1.15.2","1.15.1","1.15.0","1.14.0","1.13.2","1.13.1","1.13.0","1.12.1","1.12.0","1.11.4","1.11.3","1.11.2","1.11.1","1.11.0","1.10.0","1.9.2","1.9.1","1.9.0","1.8.0","1.7.1","1.7.0","1.6.0","1.5.0","1.4.0","1.3.0","1.2.0","1.1.2","1.1.1","1.1.0","1.0.1","1.0.0","1.0.0-BETA","0.7.4","0.7.3","0.7.2","0.7.1","0.7.0","0.6.1","0.6.0","0.5.1","0.5.0","0.4.1","0.4.0","0.3.0"]},{"artifactId":"maven-archetype-dotnet-simple","groupId":"org.apache.npanday","versions":["1.4.0-incubating"]},{"artifactId":"maven-archetype-netexecutable","groupId":"org.apache.npanday","versions":["1.4.0-incubating"]},{"artifactId":"maven-archetype-vb-simple","groupId":"org.apache.npanday","versions":["1.4.0-incubating"]},{"artifactId":"olingo-odata2-sample-cars-annotation-archetype","groupId":"org.apache.olingo","versions":["2.0.12","2.0.11","2.0.10","2.0.9","2.0.8","2.0.7","2.0.6","2.0.5","2.0.4","2.0.3","2.0.3-RC02","2.0.3-RC01","2.0.2","2.0.2-RC01","2.0.1","2.0.0","1.2.0"]},{"artifactId":"olingo-odata2-sample-cars-annotation-archetype-incubating","groupId":"org.apache.olingo","versions":["1.1.0"]},{"artifactId":"olingo-odata2-sample-cars-jpa-archetype","groupId":"org.apache.olingo","versions":["2.0.12","2.0.11","2.0.10","2.0.9","2.0.8","2.0.7","2.0.6","2.0.5","2.0.4","2.0.3","2.0.3-RC02","2.0.3-RC01","2.0.2","2.0.2-RC01","2.0.1","2.0.0","1.2.0"]},{"artifactId":"olingo-odata2-sample-cars-service-archetype","groupId":"org.apache.olingo","versions":["2.0.12","2.0.11","2.0.10","2.0.9","2.0.8","2.0.7","2.0.6","2.0.5","2.0.4","2.0.3","2.0.3-RC02","2.0.3-RC01","2.0.2","2.0.2-RC01","2.0.1","2.0.0","1.2.0"]},{"artifactId":"olingo-odata2-sample-cars-service-archetype-incubating","groupId":"org.apache.olingo","versions":["1.1.0"]},{"artifactId":"opsui-archetype","groupId":"org.apache.oodt","versions":["1.9.1","1.9","1.2.5","1.2.4","1.2.3","1.2.2","1.2.1","1.2","1.1","1.0","0.12","0.11","0.10","0.9","0.8.1","0.8","0.7","0.6"]},{"artifactId":"radix-archetype","groupId":"org.apache.oodt","versions":["1.9.1","1.9","1.2.5","1.2.4","1.2.3","1.2.2","1.2.1","1.2","1.1","1.0","0.12","0.11","0.10","0.9","0.8.1","0.8","0.7","0.6"]},{"artifactId":"tomee-webapp-archetype","groupId":"org.apache.openejb.maven","versions":["1.7.5","1.7.4","1.7.3","1.7.2","1.7.1","1.7.0","1.6.0","1.5.2","1.0.1","1.6.0.2","1.6.0.1"]},{"artifactId":"application-archetype","groupId":"org.apache.portals.jetspeed-2","versions":["2.1.4","2.1.3"],"description":"Jetspeed-2 Maven2 Archetype used to generate portal application templates."},{"artifactId":"component-archetype","groupId":"org.apache.portals.jetspeed-2","versions":["2.1.4","2.1.3"],"description":"Jetspeed-2 Maven2 Archetype used to generate component templates to\n be used by other components and applications."},{"artifactId":"jetspeed-archetype","groupId":"org.apache.portals.jetspeed-2","versions":["2.3.1","2.3.0","2.2.2","2.2.1","2.2.0"],"description":"Jetspeed 2 Maven Archetype"},{"artifactId":"portal-archetype","groupId":"org.apache.portals.jetspeed-2","versions":["2.1.4","2.1.3"],"description":"Jetspeed-2 Maven2 Archetype used to generate portal instances."},{"artifactId":"portal-component-archetype","groupId":"org.apache.portals.jetspeed-2","versions":["2.1.4","2.1.3"],"description":"Jetspeed-2 Maven2 Archetype used to generate component templates to\n be injected/installed as a library in the portal application itself."},{"artifactId":"shared-component-archetype","groupId":"org.apache.portals.jetspeed-2","versions":["2.1.4","2.1.3"],"description":"Jetspeed-2 Maven2 Archetype used to generate component templates to\n be installed as a shared library for all portlet/web applications."},{"artifactId":"bean-portlet-archetype","groupId":"org.apache.portals.pluto.archetype","versions":["3.1.1","3.1.0","3.0.1","3.0.0"],"description":"Maven archetype for a bean portlet"},{"artifactId":"generic-portlet-archetype","groupId":"org.apache.portals.pluto.archetype","versions":["3.1.1","3.1.0","3.0.1","3.0.0"],"description":"Maven archetype for a generic portlet"},{"artifactId":"mvcbean-jsp-portlet-archetype","groupId":"org.apache.portals.pluto.archetype","versions":["3.1.1","3.1.0"],"description":"Maven archetype for an MVCBean JSP portlet"},{"artifactId":"mvcbean-thymeleaf-portlet-archetype","groupId":"org.apache.portals.pluto.archetype","versions":["3.1.1","3.1.0"],"description":"Maven archetype for an MVCBean Thymeleaf portlet"},{"artifactId":"rave-custom-project-archetype","groupId":"org.apache.rave","versions":["0.23","0.22","0.21.1","0.20.1","0.20","0.19"],"description":"An Archetype to create a custom Apache Rave project"},{"artifactId":"royale-jewel-application-archetype","groupId":"org.apache.royale.framework","versions":["0.9.9","0.9.8"],"description":"Maven archetype for creating Royale Maven project for building a Jewel Royale application for JavaScript output."},{"artifactId":"royale-jewel-library-archetype","groupId":"org.apache.royale.framework","versions":["0.9.9","0.9.8"],"description":"Maven archetype for creating Royale Maven project for building a Jewel Royale library for JavaScript output."},{"artifactId":"royale-jewel-module-application-archetype","groupId":"org.apache.royale.framework","versions":["0.9.9","0.9.8"],"description":"Maven archetype for creating Royale Maven project for building a Jewel Royale application with Modules for JavaScript output."},{"artifactId":"royale-simple-application-archetype","groupId":"org.apache.royale.framework","versions":["0.9.9","0.9.8","0.9.7","0.9.6","0.9.4","0.9.2","0.9.1","0.9.0"],"description":"Maven archetype for creating Royale Maven project for building a simple Royale application with both Flash and JavaScript output."},{"artifactId":"royale-simple-application-pure-js-archetype","groupId":"org.apache.royale.framework","versions":["0.9.9","0.9.8","0.9.7","0.9.6","0.9.4","0.9.2","0.9.1","0.9.0"],"description":"Maven archetype for creating Royale Maven project for building a simple Royale application with only JavaScript output."},{"artifactId":"royale-simple-application-pure-swf-archetype","groupId":"org.apache.royale.framework","versions":["0.9.9","0.9.8","0.9.7","0.9.6","0.9.4","0.9.2","0.9.1","0.9.0"],"description":"Maven archetype for creating Royale Maven project for building a simple Royale application with only Flash output."},{"artifactId":"royale-simple-library-archetype","groupId":"org.apache.royale.framework","versions":["0.9.9","0.9.8","0.9.7","0.9.6","0.9.4","0.9.2","0.9.1","0.9.0"],"description":"Maven archetype for creating Royale Maven project for building a simple Royale library."},{"artifactId":"royale-simple-typedef-archetype","groupId":"org.apache.royale.framework","versions":["0.9.9","0.9.8","0.9.7","0.9.6","0.9.4","0.9.2","0.9.1","0.9.0"],"description":"Maven archetype for creating Royale Maven project for building a simple Royale typedef library."},{"artifactId":"business-service-jaxrs-archetype","groupId":"org.apache.servicecomb.archetypes","versions":["2.8.6","2.8.5","2.8.4","2.8.3","2.8.2","2.8.1","2.8.0","2.7.10","2.7.9","2.7.8","2.7.7","2.7.6","2.7.5","2.7.4","2.7.3","2.7.2","2.7.1","2.7.0","2.6.3","2.6.2","2.6.1","2.6.0","2.5.3","2.5.2","2.5.1","2.5.0","2.3.6","2.3.5","2.3.3","2.3.2","2.3.1","2.3.0","2.2.4","2.2.3","2.2.2","2.2.1","2.2.0","2.1.6","2.1.5","2.1.3","2.1.2","2.1.1","2.1.0","2.0.2","2.0.1","2.0.0","1.3.11","1.3.10","1.3.9","1.3.8","1.3.7","1.3.6","1.3.5","1.3.3","1.3.2","1.3.1","1.3.0","1.2.1","1.2.0","1.1.0","1.0.0","1.0.0-m2","2.7.4.2","2.7.4.1"]},{"artifactId":"business-service-pojo-archetype","groupId":"org.apache.servicecomb.archetypes","versions":["2.8.6","2.8.5","2.8.4","2.8.3","2.8.2","2.8.1","2.8.0","2.7.10","2.7.9","2.7.8","2.7.7","2.7.6","2.7.5","2.7.4","2.7.3","2.7.2","2.7.1","2.7.0","2.6.3","2.6.2","2.6.1","2.6.0","2.5.3","2.5.2","2.5.1","2.5.0","2.3.6","2.3.5","2.3.3","2.3.2","2.3.1","2.3.0","2.2.4","2.2.3","2.2.2","2.2.1","2.2.0","2.1.6","2.1.5","2.1.3","2.1.2","2.1.1","2.1.0","2.0.2","2.0.1","2.0.0","1.3.11","1.3.10","1.3.9","1.3.8","1.3.7","1.3.6","1.3.5","1.3.3","1.3.2","1.3.1","1.3.0","1.2.1","1.2.0","1.1.0","1.0.0","1.0.0-m2","2.7.4.2","2.7.4.1"]},{"artifactId":"business-service-spring-boot-starter-archetype","groupId":"org.apache.servicecomb.archetypes","versions":["1.3.11","1.3.10","1.3.9","1.3.8","1.3.7","1.3.6","1.3.5","1.3.3","1.3.2","1.3.1","1.3.0","1.2.1","1.2.0","1.1.0","1.0.0","1.0.0-m2"]},{"artifactId":"business-service-spring-boot2-starter-archetype","groupId":"org.apache.servicecomb.archetypes","versions":["2.8.6","2.8.5","2.8.4","2.8.3","2.8.2","2.8.1","2.8.0","2.7.10","2.7.9","2.7.8","2.7.7","2.7.6","2.7.5","2.7.4","2.7.3","2.7.2","2.7.1","2.7.0","2.6.3","2.6.2","2.6.1","2.6.0","2.5.3","2.5.2","2.5.1","2.5.0","2.3.6","2.3.5","2.3.3","2.3.2","2.3.1","2.3.0","2.2.4","2.2.3","2.2.2","2.2.1","2.2.0","2.1.6","2.1.5","2.1.3","2.1.2","2.1.1","2.1.0","2.0.2","2.0.1","2.0.0","1.3.11","1.3.10","1.3.9","1.3.8","1.3.7","1.3.6","1.3.5","1.3.3","1.3.2","1.3.1","1.3.0","2.7.4.2","2.7.4.1"]},{"artifactId":"business-service-springmvc-archetype","groupId":"org.apache.servicecomb.archetypes","versions":["2.8.6","2.8.5","2.8.4","2.8.3","2.8.2","2.8.1","2.8.0","2.7.10","2.7.9","2.7.8","2.7.7","2.7.6","2.7.5","2.7.4","2.7.3","2.7.2","2.7.1","2.7.0","2.6.3","2.6.2","2.6.1","2.6.0","2.5.3","2.5.2","2.5.1","2.5.0","2.3.6","2.3.5","2.3.3","2.3.2","2.3.1","2.3.0","2.2.4","2.2.3","2.2.2","2.2.1","2.2.0","2.1.6","2.1.5","2.1.3","2.1.2","2.1.1","2.1.0","2.0.2","2.0.1","2.0.0","1.3.11","1.3.10","1.3.9","1.3.8","1.3.7","1.3.6","1.3.5","1.3.3","1.3.2","1.3.1","1.3.0","1.2.1","1.2.0","1.1.0","1.0.0","1.0.0-m2","2.7.4.2","2.7.4.1"]},{"artifactId":"servicemix-bean-service-unit","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","3.2.1","3.2","3.1.2","2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-binding-component","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","3.2.1","3.2","3.1.2","2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-camel-osgi-bundle","groupId":"org.apache.servicemix.tooling","versions":["2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-camel-service-unit","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","3.2.1","3.2","2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-cxf-bc-service-unit","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","3.2.1","3.2","2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-cxf-code-first-osgi-bundle","groupId":"org.apache.servicemix.tooling","versions":["2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-cxf-se-service-unit","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","3.2.1","3.2","2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-cxf-se-wsdl-first-service-unit","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-cxf-wsdl-first-osgi-bundle","groupId":"org.apache.servicemix.tooling","versions":["2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-drools-service-unit","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","3.2.1","3.2","2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-eip-service-unit","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","3.2.1","3.2","3.1.2","2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-embedded-simple","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","3.2.1","3.2","3.1.2","2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-exec-service-unit","groupId":"org.apache.servicemix.tooling","versions":["2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-file-poller-service-unit","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2"]},{"artifactId":"servicemix-file-sender-service-unit","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2"]},{"artifactId":"servicemix-file-service-unit","groupId":"org.apache.servicemix.tooling","versions":["2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-ftp-poller-service-unit","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","3.2.1","3.2","3.1.2"]},{"artifactId":"servicemix-ftp-sender-service-unit","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","3.2.1","3.2","3.1.2"]},{"artifactId":"servicemix-ftp-service-unit","groupId":"org.apache.servicemix.tooling","versions":["2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-http-consumer-service-unit","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","3.2.1","3.2","3.1.2"]},{"artifactId":"servicemix-http-provider-service-unit","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","3.2.1","3.2","3.1.2"]},{"artifactId":"servicemix-http-service-unit","groupId":"org.apache.servicemix.tooling","versions":["2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-jms-consumer-service-unit","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","3.2.1","3.2","3.1.2"]},{"artifactId":"servicemix-jms-provider-service-unit","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","3.2.1","3.2","3.1.2"]},{"artifactId":"servicemix-jms-service-unit","groupId":"org.apache.servicemix.tooling","versions":["2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-jsr181-annotated-service-unit","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","3.2.1","3.2","3.1.2"]},{"artifactId":"servicemix-jsr181-service-unit","groupId":"org.apache.servicemix.tooling","versions":["2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-jsr181-wsdl-first-service-unit","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","3.2.1","3.2","3.1.2","2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-lwcontainer-service-unit","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","3.2.1","3.2","3.1.2","2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-mail-service-unit","groupId":"org.apache.servicemix.tooling","versions":["2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-ode-service-unit","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","3.2.1","3.2","3.1.2","2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-osgi-bundle","groupId":"org.apache.servicemix.tooling","versions":["2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-osworkflow-service-unit","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-project-root","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-quartz-service-unit","groupId":"org.apache.servicemix.tooling","versions":["2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-saxon-service-unit","groupId":"org.apache.servicemix.tooling","versions":["2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-saxon-xquery-service-unit","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","3.2.1","3.2","3.1.2"]},{"artifactId":"servicemix-saxon-xslt-service-unit","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","3.2.1","3.2","3.1.2"]},{"artifactId":"servicemix-script-service-unit","groupId":"org.apache.servicemix.tooling","versions":["2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-scripting-service-unit","groupId":"org.apache.servicemix.tooling","versions":["2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-service-assembly","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","3.2.1","3.2","3.1.2","2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-service-engine","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","3.2.1","3.2","3.1.2","2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-service-unit","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","3.2.1","3.2","3.1.2","2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-shared-library","groupId":"org.apache.servicemix.tooling","versions":["3.2.3","3.2.2","3.2.1","3.2","3.1.2","2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-smpp-service-unit","groupId":"org.apache.servicemix.tooling","versions":["2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-snmp-service-unit","groupId":"org.apache.servicemix.tooling","versions":["2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-validation-service-unit","groupId":"org.apache.servicemix.tooling","versions":["2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-vfs-service-unit","groupId":"org.apache.servicemix.tooling","versions":["2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-xmpp-service-unit","groupId":"org.apache.servicemix.tooling","versions":["2013.01","2011.02","2011.01","2010.02","2010.01"]},{"artifactId":"servicemix-cxf-code-first-osgi-bundle","groupId":"org.apache.servicemix.tooling.archetypes","versions":["7.0.1","7.0.0","6.1.4","6.1.3","6.1.2","6.1.1","6.1.0","6.0.5","6.0.4","6.0.3","6.0.2","6.0.1","6.0.0","5.6.3","5.6.2","5.6.1","5.6.0","5.5.4","5.5.3","5.5.2","5.5.1","5.5.0","5.4.3","5.4.2","5.4.1","5.4.0","5.3.2","5.3.1","5.3.0","5.2.2","5.2.1","5.2.0","5.1.6","5.1.5","5.1.4","5.1.3","5.1.2","5.1.1","5.1.0","5.0.6","5.0.5","5.0.4","5.0.3","5.0.2","7.0.0.M3","7.0.0.M2","7.0.0.M1","6.0.0.M2","6.0.0.M1"]},{"artifactId":"servicemix-cxf-wsdl-first-osgi-bundle","groupId":"org.apache.servicemix.tooling.archetypes","versions":["7.0.1","7.0.0","6.1.4","6.1.3","6.1.2","6.1.1","6.1.0","6.0.5","6.0.4","6.0.3","6.0.2","6.0.1","6.0.0","5.6.3","5.6.2","5.6.1","5.6.0","5.5.4","5.5.3","5.5.2","5.5.1","5.5.0","5.4.3","5.4.2","5.4.1","5.4.0","5.3.2","5.3.1","5.3.0","5.2.2","5.2.1","5.2.0","5.1.6","5.1.5","5.1.4","5.1.3","5.1.2","5.1.1","5.1.0","5.0.6","5.0.5","5.0.4","5.0.3","5.0.2","7.0.0.M3","7.0.0.M2","7.0.0.M1","6.0.0.M2","6.0.0.M1"]},{"artifactId":"servicemix-osgi-bundle","groupId":"org.apache.servicemix.tooling.archetypes","versions":["7.0.1","7.0.0","6.1.4","6.1.3","6.1.2","6.1.1","6.1.0","6.0.5","6.0.4","6.0.3","6.0.2","6.0.1","6.0.0","5.6.3","5.6.2","5.6.1","5.6.0","5.5.4","5.5.3","5.5.2","5.5.1","5.5.0","5.4.3","5.4.2","5.4.1","5.4.0","5.3.2","5.3.1","5.3.0","5.2.2","5.2.1","5.2.0","5.1.6","5.1.5","5.1.4","5.1.3","5.1.2","5.1.1","5.1.0","5.0.6","5.0.5","5.0.4","5.0.3","5.0.2","7.0.0.M3","7.0.0.M2","7.0.0.M1","6.0.0.M2","6.0.0.M1"]},{"artifactId":"sample-maven-archetype","groupId":"org.apache.shindig","versions":["2.5.2","2.5.1","2.5.0","2.5.0-update1","2.5.0-beta6"],"description":"Default server war dependencies"},{"artifactId":"org.apache.sling.cms.archetype","groupId":"org.apache.sling","versions":["1.1.6","1.1.4","1.1.2","1.1.0","1.0.4","1.0.2","0.16.2","0.16.0","0.14.0"],"description":"A Maven Archetype for creating Sling CMS projects"},{"artifactId":"sling-bundle-archetype","groupId":"org.apache.sling","versions":["1.0.6","1.0.4","1.0.2","1.0.0"],"description":"Maven archetype for a generic OSGi bundle."},{"artifactId":"sling-initial-content-archetype","groupId":"org.apache.sling","versions":["1.0.6","1.0.4","1.0.0"],"description":"Maven archetype for initial content"},{"artifactId":"sling-jcrinstall-bundle-archetype","groupId":"org.apache.sling","versions":["1.0.6","1.0.4","1.0.2","1.0.0"],"description":"Maven archetype for a generic OSGi bundle installed via JCR Install."},{"artifactId":"sling-launchpad-standalone-archetype","groupId":"org.apache.sling","versions":["1.0.0"],"description":"Maven archetype for Sling Launchpad Standalone applications"},{"artifactId":"sling-launchpad-webapp-archetype","groupId":"org.apache.sling","versions":["1.0.0"],"description":"Maven archetype for Sling Launchpad Webapp applications"},{"artifactId":"sling-project-archetype","groupId":"org.apache.sling","versions":["1.0.8","1.0.4","1.0.2","1.0.0"],"description":"This archetype is creating a full Sling Project composed of\n a OSGi Bundle and a Content Package which can be deployed\n to the Sling using specific profiles. It also contains two shadow\n folders that provide example code / files which are not part\n of the default build but can be easily copied into the active modules.\n\n If the project was created with the **optionAll** property set\n to **y** (yes) then an **All** package is created with acts as\n the single deployment unit of all bundles and packages in that\n project.\n Otherwise the **ui.apps** package is the deployment unit."},{"artifactId":"sling-servlet-archetype","groupId":"org.apache.sling","versions":["1.0.4","1.0.2","1.0.0"],"description":"Maven archetype for Sling Servlets"},{"artifactId":"sling-slingstart-archetype","groupId":"org.apache.sling","versions":["1.0.8","1.0.6","1.0.2","1.0.0"],"description":"Maven archetype for a Sling Slingstart application"},{"artifactId":"enhancer-engine-archetype","groupId":"org.apache.stanbol","versions":["1.0.0","0.12.0"]},{"artifactId":"statefull-webmodule-archetype","groupId":"org.apache.stanbol","versions":["1.0.0","0.12.0"],"description":"Archetype for a project that accesses the entityhub, and logs queries to a persisten graph"},{"artifactId":"stateless-webmodule-archetype","groupId":"org.apache.stanbol","versions":["1.0.0","0.12.0"],"description":"Archetype for a project that allows posting files and shows the computed enhancements."},{"artifactId":"streampipes-archetype-extensions-jvm","groupId":"org.apache.streampipes","versions":["0.90.0","0.70.0","0.69.0"]},{"artifactId":"streampipes-archetype-pe-processors-flink","groupId":"org.apache.streampipes","versions":["0.90.0","0.70.0","0.69.0","0.68.0","0.67.0","0.66.0"]},{"artifactId":"streampipes-archetype-pe-processors-jvm","groupId":"org.apache.streampipes","versions":["0.68.0","0.67.0","0.66.0"]},{"artifactId":"streampipes-archetype-pe-sinks-flink","groupId":"org.apache.streampipes","versions":["0.90.0","0.70.0","0.69.0","0.68.0","0.67.0","0.66.0"]},{"artifactId":"streampipes-archetype-pe-sinks-jvm","groupId":"org.apache.streampipes","versions":["0.69.0","0.68.0","0.67.0","0.66.0"]},{"artifactId":"streampipes-archetype-pe-sources","groupId":"org.apache.streampipes","versions":["0.69.0","0.68.0","0.67.0","0.66.0"]},{"artifactId":"struts2-archetype-angularjs","groupId":"org.apache.struts","versions":["2.5.22","2.5.14","2.5.5","2.5.2","2.5.1","2.5","2.5-BETA3","2.5-BETA2","2.5-BETA1","2.3.37","2.3.36","2.3.35","2.3.34","2.3.33","2.3.32","2.3.31","2.3.30","2.3.29","2.3.28","2.3.24","2.3.20","2.3.16","2.3.28.1","2.3.24.3","2.3.24.1","2.3.20.3","2.3.20.1","2.3.16.3","2.3.16.2","2.3.16.1"],"description":"Struts 2's HTML5 AngularJS App Archetype"},{"artifactId":"struts2-archetype-blank","groupId":"org.apache.struts","versions":["2.5.22","2.5.14","2.5.5","2.5.2","2.5.1","2.5","2.5-BETA3","2.5-BETA2","2.5-BETA1","2.3.37","2.3.36","2.3.35","2.3.34","2.3.33","2.3.32","2.3.31","2.3.30","2.3.29","2.3.28","2.3.24","2.3.20","2.3.16","2.3.15","2.3.14","2.3.12","2.3.8","2.3.7","2.3.4","2.3.3","2.2.3","2.2.1","2.3.4.1","2.3.28.1","2.3.24.3","2.3.24.1","2.3.20.3","2.3.20.1","2.3.16.3","2.3.16.2","2.3.16.1","2.3.15.3","2.3.15.2","2.3.15.1","2.3.14.3","2.3.14.2","2.3.14.1","2.2.3.1","2.2.1.1"],"description":"Struts 2's Blank App Archetype"},{"artifactId":"struts2-archetype-convention","groupId":"org.apache.struts","versions":["2.5.22","2.5.14","2.5.5","2.5.2","2.5.1","2.5","2.5-BETA3","2.5-BETA2","2.5-BETA1","2.3.37","2.3.36","2.3.35","2.3.34","2.3.33","2.3.32","2.3.31","2.3.30","2.3.29","2.3.28","2.3.24","2.3.20","2.3.16","2.3.15","2.3.14","2.3.12","2.3.8","2.3.7","2.3.4","2.3.3","2.2.3","2.2.1","2.3.4.1","2.3.28.1","2.3.24.3","2.3.24.1","2.3.20.3","2.3.20.1","2.3.16.3","2.3.16.2","2.3.16.1","2.3.15.3","2.3.15.2","2.3.15.1","2.3.14.3","2.3.14.2","2.3.14.1","2.2.3.1","2.2.1.1"],"description":"Struts 2's Blank Convention based App Archetype"},{"artifactId":"struts2-archetype-dbportlet","groupId":"org.apache.struts","versions":["2.5.22","2.5.14","2.5.5","2.5.2","2.5.1","2.5","2.5-BETA3","2.5-BETA2","2.5-BETA1","2.3.37","2.3.36","2.3.35","2.3.34","2.3.33","2.3.32","2.3.31","2.3.30","2.3.29","2.3.28","2.3.24","2.3.20","2.3.16","2.3.15","2.3.14","2.3.12","2.3.8","2.3.7","2.2.3","2.2.1","2.3.28.1","2.3.24.3","2.3.24.1","2.3.20.3","2.3.20.1","2.3.16.3","2.3.16.2","2.3.16.1","2.3.15.3","2.3.15.2","2.3.15.1","2.3.14.3","2.3.14.2","2.3.14.1","2.2.3.1","2.2.1.1"],"description":"Struts 2's Database Portlet Archetype, which can be deployed as a webapp or JSR168 portlet"},{"artifactId":"struts2-archetype-plugin","groupId":"org.apache.struts","versions":["2.5.22","2.5.14","2.5.5","2.5.2","2.5.1","2.5","2.5-BETA3","2.5-BETA2","2.5-BETA1","2.3.37","2.3.36","2.3.35","2.3.34","2.3.33","2.3.32","2.3.31","2.3.30","2.3.29","2.3.28","2.3.24","2.3.20","2.3.16","2.3.15","2.3.14","2.3.12","2.3.8","2.3.7","2.2.3","2.2.1","2.3.28.1","2.3.24.3","2.3.24.1","2.3.20.3","2.3.20.1","2.3.16.3","2.3.16.2","2.3.16.1","2.3.15.3","2.3.15.2","2.3.15.1","2.3.14.3","2.3.14.2","2.3.14.1","2.2.3.1","2.2.1.1"],"description":"Struts 2's Basic Plugin Archetype"},{"artifactId":"struts2-archetype-portlet","groupId":"org.apache.struts","versions":["2.5.22","2.5.14","2.5.5","2.5.2","2.5.1","2.5","2.5-BETA3","2.5-BETA2","2.5-BETA1","2.3.37","2.3.36","2.3.35","2.3.34","2.3.33","2.3.32","2.3.31","2.3.30","2.3.29","2.3.28","2.3.24","2.3.20","2.3.16","2.3.15","2.3.14","2.3.12","2.3.8","2.3.7","2.2.3","2.2.1","2.3.28.1","2.3.24.3","2.3.24.1","2.3.20.3","2.3.20.1","2.3.16.3","2.3.16.2","2.3.16.1","2.3.15.3","2.3.15.2","2.3.15.1","2.3.14.3","2.3.14.2","2.3.14.1","2.2.3.1","2.2.1.1"],"description":"Struts 2's Portlet Archetype, which can be deployed as JSR286 portlet"},{"artifactId":"struts2-archetype-starter","groupId":"org.apache.struts","versions":["2.5.22","2.5.14","2.5.5","2.5.2","2.5.1","2.5","2.5-BETA3","2.5-BETA2","2.5-BETA1","2.3.37","2.3.36","2.3.35","2.3.34","2.3.33","2.3.32","2.3.31","2.3.30","2.3.29","2.3.28","2.3.24","2.3.20","2.3.16","2.3.15","2.3.14","2.3.12","2.3.8","2.3.7","2.2.3","2.2.1","2.3.28.1","2.3.24.3","2.3.24.1","2.3.20.3","2.3.20.1","2.3.16.3","2.3.16.2","2.3.16.1","2.3.15.3","2.3.15.2","2.3.15.1","2.3.14.3","2.3.14.2","2.3.14.1","2.2.3.1","2.2.1.1","2.0.11.2"],"description":"Struts 2's Starter App Archetype"},{"artifactId":"synapse-package-archetype","groupId":"org.apache.synapse","versions":["3.0.1","3.0.0","2.1.0","2.0.0"],"description":"This archetype can be used to create Maven projects that bundle a mediation\n into a standalone distribution ready to be executed"},{"artifactId":"syncope-archetype","groupId":"org.apache.syncope","versions":["3.0.2","3.0.1","3.0.0","3.0.0-M2","3.0.0-M1","3.0.0-M0","2.1.13","2.1.12","2.1.11","2.1.10","2.1.9","2.1.8","2.1.7","2.1.6","2.1.5","2.1.4","2.1.3","2.1.2","2.1.1","2.1.0","2.0.16","2.0.15","2.0.14","2.0.13","2.0.12","2.0.11","2.0.10","2.0.9","2.0.8","2.0.7","2.0.6","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","2.0.0-M4","2.0.0-M3","2.0.0-M2","2.0.0-M1","1.2.11","1.2.10","1.2.9","1.2.8","1.2.7","1.2.6","1.2.5","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.2.0-M1","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3-incubating","1.0.2-incubating","1.0.1-incubating","1.0.0-incubating","1.0.0-RC3-incubating","1.0.0-RC2-incubating","1.0.0-RC1-incubating","2.0.0.M5"],"description":"Apache Syncope Archetype"},{"artifactId":"quickstart","groupId":"org.apache.tapestry","versions":["5.8.0","5.7.3","5.7.2","5.7.1","5.7.0","5.6.4","5.6.3","5.6.2","5.6.1","5.6.0","5.5.0","5.5.0-beta-3","5.4.5","5.4.4","5.4.3","5.4.2","5.4.1","5.4.0","5.4-rc-1","5.4-beta-6","5.4-beta-3","5.4-beta-35","5.4-beta-26","5.4-beta-22","5.3.8","5.3.7","5.3.6","5.3.5","5.3.4","5.3.3","5.3.3-rc-1","5.3.2","5.3.1","5.3","5.2.6","5.2.5","5.2.4","5.2.2","5.2.1","5.2.0","5.0.19","5.0.18","5.0.17","5.0.16","5.0.15","5.0.14","5.0.13","5.0.12","5.0.11","5.0.10","5.0.9","5.0.7","5.0.6","5.0.5","5.0.4","5.0.3","5.1.0.5","5.1.0.4","5.1.0.3","5.1.0.2","5.1.0.1","5.1.0.0"]},{"artifactId":"tapestry-archetype","groupId":"org.apache.tapestry","versions":["4.1.6","4.1.2"]},{"artifactId":"tapestry-simple","groupId":"org.apache.tapestry","versions":["5.0.2","5.0.1"],"description":"Archetype for creating a basic Tapestry 5 application, including Eclipse control files."},{"artifactId":"taverna-activity-archetype","groupId":"org.apache.taverna.engine","versions":["3.1.0-incubating"],"description":"Archetype to build a Taverna 3 service activity.\n Includes engine and UI parts, and a test class to run the workbench with the new activity."},{"artifactId":"javaenclave-archetype","groupId":"org.apache.teaclave.javasdk","versions":["0.1.0"]},{"artifactId":"gremlin-archetype-dsl","groupId":"org.apache.tinkerpop","versions":["3.6.2","3.6.1","3.6.0","3.5.5","3.5.4","3.5.3","3.5.2","3.5.1","3.5.0","3.4.13","3.4.12","3.4.11","3.4.10","3.4.9","3.4.8","3.4.7","3.4.6","3.4.5","3.4.4","3.4.3","3.4.2","3.4.1","3.4.0","3.3.11","3.3.10","3.3.9","3.3.8","3.3.7","3.3.6","3.3.5","3.3.4","3.3.3","3.3.2","3.3.1","3.3.0","3.2.11","3.2.10","3.2.9","3.2.8","3.2.7","3.2.6","3.2.5"]},{"artifactId":"gremlin-archetype-server","groupId":"org.apache.tinkerpop","versions":["3.6.2","3.6.1","3.6.0","3.5.5","3.5.4","3.5.3","3.5.2","3.5.1","3.5.0","3.4.13","3.4.12","3.4.11","3.4.10","3.4.9","3.4.8","3.4.7","3.4.6","3.4.5","3.4.4","3.4.3","3.4.2","3.4.1","3.4.0","3.3.11","3.3.10","3.3.9","3.3.8","3.3.7","3.3.6","3.3.5","3.3.4","3.3.3","3.3.2","3.3.1","3.3.0","3.2.11","3.2.10","3.2.9","3.2.8","3.2.7","3.2.6","3.2.5","3.2.4","3.2.3","3.2.2","3.2.1","3.2.0-incubating","3.1.8","3.1.7","3.1.6","3.1.5","3.1.4","3.1.3","3.1.2-incubating"]},{"artifactId":"gremlin-archetype-tinkergraph","groupId":"org.apache.tinkerpop","versions":["3.6.2","3.6.1","3.6.0","3.5.5","3.5.4","3.5.3","3.5.2","3.5.1","3.5.0","3.4.13","3.4.12","3.4.11","3.4.10","3.4.9","3.4.8","3.4.7","3.4.6","3.4.5","3.4.4","3.4.3","3.4.2","3.4.1","3.4.0","3.3.11","3.3.10","3.3.9","3.3.8","3.3.7","3.3.6","3.3.5","3.3.4","3.3.3","3.3.2","3.3.1","3.3.0","3.2.11","3.2.10","3.2.9","3.2.8","3.2.7","3.2.6","3.2.5","3.2.4","3.2.3","3.2.2","3.2.1","3.2.0-incubating","3.1.8","3.1.7","3.1.6","3.1.5","3.1.4","3.1.3","3.1.2-incubating"]},{"artifactId":"tomcat-maven-archetype","groupId":"org.apache.tomcat.maven","versions":["2.2","2.1","2.0","2.0-beta-1"]},{"artifactId":"tomee-webapp-archetype","groupId":"org.apache.tomee.maven","versions":["9.0.0","9.0.0-M8","8.0.14","8.0.13","8.0.12","8.0.11","8.0.10","8.0.9","8.0.8","8.0.7","8.0.6","8.0.5","8.0.4","8.0.3","8.0.2","8.0.1","8.0.0","8.0.0-M3","8.0.0-M2","8.0.0-M1","7.1.4","7.1.3","7.1.2","7.1.1","7.1.0","7.0.9","7.0.8","7.0.7","7.0.6","7.0.5","7.0.4","7.0.3","7.0.2","7.0.1","7.0.0","7.0.0-M3","7.0.0-M2","7.0.0-M1","9.0.0.RC1"]},{"artifactId":"cxf-jaxrs-service","groupId":"org.apache.tomee.patch.archetype","versions":["2.6.17-TomEE"],"description":"Simple CXF JAX-RS webapp service using Spring configuration"},{"artifactId":"cxf-jaxws-javafirst","groupId":"org.apache.tomee.patch.archetype","versions":["2.6.17-TomEE"],"description":"Creates a project for developing a Web service starting from Java code"},{"artifactId":"content-archetype","groupId":"org.apache.training","versions":["1.0.0"]},{"artifactId":"turbine-webapp-2.3.3","groupId":"org.apache.turbine","versions":["1.0.0"],"description":"This archetype sets up a web application project based on Apache Turbine 2.3.3"},{"artifactId":"turbine-webapp-4.0","groupId":"org.apache.turbine","versions":["1.0.1","1.0.0"],"description":"This archetype sets up a web application project based on Apache Turbine 4.0M2"},{"artifactId":"turbine-webapp-5.0","groupId":"org.apache.turbine","versions":["1.0.3"],"description":"This archetype sets up a web application project based on Apache Turbine 5.0"},{"artifactId":"turbine-webapp-5.1","groupId":"org.apache.turbine","versions":["2.0.0"],"description":"This archetype sets up a web application project based on Apache Turbine 5.x and Torque 5.x"},{"artifactId":"tuscany-binding-archetype","groupId":"org.apache.tuscany.sca","versions":["2.0.1","2.0","2.0-Beta3","2.0-Beta2","2.0-Beta1"],"description":"Create a Tuscany binding extension project"},{"artifactId":"tuscany-contribution-jar","groupId":"org.apache.tuscany.sca","versions":["2.0.1","2.0","2.0-M4","2.0-M3","2.0-M2","2.0-Beta3","2.0-Beta2","2.0-Beta1"],"description":"Create an SCA JAR contribution project"},{"artifactId":"tuscany-contribution-zip","groupId":"org.apache.tuscany.sca","versions":["2.0.1","2.0","2.0-M4","2.0-M3","2.0-Beta3","2.0-Beta2","2.0-Beta1"],"description":"Create an SCA ZIP contribution project"},{"artifactId":"tuscany-policy-archetype","groupId":"org.apache.tuscany.sca","versions":["2.0.1","2.0"],"description":"Create a Tuscany policy extension project"},{"artifactId":"tuscany-quickstart","groupId":"org.apache.tuscany.sca","versions":["2.0.1","2.0","2.0-M4","2.0-M3","2.0-M2","2.0-Beta3","2.0-Beta2","2.0-Beta1"],"description":"Create a simple Apache Tuscany SCA webapp project"},{"artifactId":"tuscany-quickstart-bpel","groupId":"org.apache.tuscany.sca","versions":["2.0.1","2.0","2.0-M4","2.0-M3","2.0-Beta3","2.0-Beta2","2.0-Beta1"],"description":"Create an SCA Webapp project using BPEL"},{"artifactId":"tuscany-quickstart-jsf","groupId":"org.apache.tuscany.sca","versions":["2.0.1","2.0","2.0-M4","2.0-M3","2.0-M2","2.0-Beta3","2.0-Beta2","2.0-Beta1"],"description":"Create a Tuscany SCA and JSF project"},{"artifactId":"tuscany-quickstart-jsonp","groupId":"org.apache.tuscany.sca","versions":["2.0-M4"]},{"artifactId":"tuscany-quickstart-stripes","groupId":"org.apache.tuscany.sca","versions":["2.0.1","2.0","2.0-M4","2.0-M3","2.0-M2","2.0-Beta3","2.0-Beta2","2.0-Beta1"],"description":"Create a simple Apache Tuscany SCA webapp project using the Stripes Web Framework"},{"artifactId":"ruta-maven-archetype","groupId":"org.apache.uima","versions":["3.3.0","3.2.0","3.1.0","3.0.1","3.0.0","2.8.1","2.8.0","2.7.0","2.6.1","2.6.0","2.5.0"],"description":"A Maven archetype for creating maven-built Ruta projects"},{"artifactId":"wicket-archetype-quickstart","groupId":"org.apache.wicket","versions":["9.12.0","9.11.0","9.10.0","9.9.1","9.9.0","9.8.0","9.7.0","9.6.0","9.5.0","9.4.0","9.3.0","9.2.0","9.1.0","9.0.0","9.0.0-M5","9.0.0-M4","9.0.0-M3","9.0.0-M2","9.0.0-M1","8.14.0","8.13.0","8.12.0","8.11.0","8.10.0","8.9.0","8.8.0","8.7.0","8.6.1","8.6.0","8.5.0","8.4.0","8.3.0","8.2.0","8.1.0","8.0.0","8.0.0-M9","8.0.0-M8","8.0.0-M7","8.0.0-M6","8.0.0-M5","8.0.0-M4","8.0.0-M3","8.0.0-M2","8.0.0-M1","7.18.0","7.17.0","7.16.0","7.15.0","7.14.0","7.13.0","7.12.0","7.11.0","7.10.0","7.9.0","7.8.0","7.7.0","7.6.0","7.5.0","7.4.0","7.3.0","7.2.0","7.1.0","7.0.0","7.0.0-M6","7.0.0-M5","7.0.0-M4","7.0.0-M3","7.0.0-M2","7.0.0-M1","6.30.0","6.29.0","6.28.0","6.27.1","6.27.0","6.26.0","6.25.0","6.24.0","6.23.0","6.22.0","6.21.0","6.20.0","6.19.0","6.18.0","6.17.0","6.16.0","6.15.0","6.14.0","6.13.0","6.12.0","6.11.0","6.10.0","6.9.1","6.9.0","6.8.0","6.7.0","6.6.0","6.5.0","6.4.0","6.3.0","6.2.0","6.1.1","6.1.0","6.0.0","6.0.0-beta3","6.0.0-beta2","6.0.0-beta1","1.5.17","1.5.16","1.5.15","1.5.14","1.5.13","1.5.12","1.5.11","1.5.10","1.5.9","1.5.8","1.5.7","1.5.6","1.5.5","1.5.4","1.5.3","1.5.2","1.5.1","1.5.0","1.5-rc2","1.5-RC7","1.5-RC5.1","1.5-RC4.2","1.5-RC3","1.5-RC1","1.5-M3","1.5-M2.1","1.5-M1","1.4.23","1.4.22","1.4.21","1.4.20","1.4.19","1.4.18","1.4.17","1.4.16","1.4.15","1.4.14","1.4.13","1.4.12","1.4.11","1.4.10","1.4.9","1.4.8","1.4.7","1.4.6","1.4.5","1.4.4","1.4.3","1.4.2","1.4.1","1.4.0","1.4-rc7","1.4-rc6","1.4-rc5","1.4-rc4","1.4-rc2","1.4-rc1","1.4-m3","1.4-m2","1.4-m1","1.3.7","1.3.6","1.3.5","1.3.4","1.3.3","1.3.2","1.3.1","1.3.0","1.3.0-rc2","1.3.0-rc1","1.3.0-beta4","1.3.0-beta3"]},{"artifactId":"custom-widget-archetype","groupId":"org.aperteworkflow","versions":["1.1.1","1.0.1","1.0"],"description":"Aperte Workflow is a compilation of well-known, stable and mature frameworks into a\n complete BPM solution developed by BlueSoft sp. z o.o. - Polish independent software vendor.\n Project home page is available at http://www.aperteworkflow.org/"},{"artifactId":"bck2brwsr-archetype-html-sample","groupId":"org.apidesign.bck2brwsr","versions":["0.7.2","0.7","0.6","0.5"],"description":"Creates a skeletal HTML page and associated Java controller class.\n Runs in any browser (even without Java plugin) with the help of Bck2Brwsr\n virtual machine."},{"artifactId":"knockout4j-archetype","groupId":"org.apidesign.bck2brwsr","versions":["0.8.1","0.8"],"description":"HTML page with Knockout.js bindings driven by application model\n written in Java. Use your favorite language to code. Use\n HTML as a lightweight rendering toolkit. Deploy using JavaFX or \n bck2brwsr virtual machine."},{"artifactId":"mojo","groupId":"org.apidesign.bck2brwsr","versions":["0.4"]},{"artifactId":"canvas-archetype","groupId":"org.apidesign.canvas","versions":["0.5.2"]},{"artifactId":"crud4j-archetype","groupId":"org.apidesign.html","versions":["1.1.2","1.1.1","1.1","1.0","0.9"],"description":"HTML page with master/detail showing results obtains\n for a Jersey server. Everything written in Java. \n Use your favorite language to code. Run the same code \n on server as well as client. Use\n HTML as a lightweight rendering toolkit. Deploy to desktop,\n Android, iOS, HTML5 browser."},{"artifactId":"knockout4j-archetype","groupId":"org.apidesign.html","versions":["1.1.2","1.1.1","1.1","1.0","0.9","0.8.3","0.8","0.7.6","0.7.5","0.7.1","0.7","0.6","0.5","0.4","0.3"],"description":"HTML page with Knockout.js bindings driven by application model\n written in Java. Use your favorite language to code. Use\n HTML as a lightweight rendering toolkit. Deploy to desktop,\n Android, iOS, HTML5 browser."},{"artifactId":"appfuse-basic-jsf","groupId":"org.appfuse","versions":["2.0-m5","2.0-m4","1.0-m3","1.0-m2"],"description":"Maven 2 archetype that creates a web application with AppFuse embedded in it."},{"artifactId":"appfuse-basic-spring","groupId":"org.appfuse","versions":["2.0-m5","2.0-m4","1.0-m3","1.0-m2"],"description":"Maven 2 archetype that creates a web application with AppFuse embedded in it."},{"artifactId":"appfuse-basic-struts","groupId":"org.appfuse","versions":["2.0-m5","2.0-m4","1.0-m3","1.0-m2"],"description":"Maven 2 archetype that creates a web application with AppFuse embedded in it."},{"artifactId":"appfuse-basic-tapestry","groupId":"org.appfuse","versions":["2.0-m5","2.0-m4","1.0-m3","1.0-m2"],"description":"Maven 2 archetype that creates a web application with AppFuse embedded in it."},{"artifactId":"appfuse-core","groupId":"org.appfuse","versions":["2.0-m5"],"description":"Maven 2 archetype that creates a backend (Managers, DAOs and Web Services)\n application with AppFuse embedded in it."},{"artifactId":"appfuse-modular-jsf","groupId":"org.appfuse","versions":["2.0-m5","2.0-m4","1.0-m3","1.0-m2"],"description":"Maven 2 archetype that creates a modular web application with AppFuse. This archetype creates two modules:\n \"core\" and \"web\". The core module depends on appfuse-service, while the web module depends on core as well\n as AppFuse's JSF implementation."},{"artifactId":"appfuse-modular-spring","groupId":"org.appfuse","versions":["2.0-m5","2.0-m4","1.0-m3","1.0-m2"],"description":"Maven 2 archetype that creates a modular web application with AppFuse. This archetype creates two modules:\n \"core\" and \"web\". The core module depends on appfuse-service, while the web module depends on core as well\n as AppFuse's Spring MVC implementation."},{"artifactId":"appfuse-modular-struts","groupId":"org.appfuse","versions":["2.0-m5","2.0-m4","1.0-m3","1.0-m2"],"description":"Maven 2 archetype that creates a modular web application with AppFuse. This archetype creates two modules:\n \"core\" and \"web\". The core module depends on appfuse-service, while the web module depends on core as well\n as AppFuse's Struts implementation."},{"artifactId":"appfuse-modular-tapestry","groupId":"org.appfuse","versions":["2.0-m5","2.0-m4","1.0-m3","1.0-m2"],"description":"Maven 2 archetype that creates a modular web application with AppFuse. This archetype creates two modules:\n \"core\" and \"web\". The core module depends on appfuse-service, while the web module depends on core as well\n as AppFuse's Tapestry implementation."},{"artifactId":"appfuse-basic-gwt-archetype","groupId":"org.appfuse.archetypes","versions":["3.5.0"],"description":"AppFuse Web Frameworks: JSF, Spring MVC, Struts 2 and Tapestry."},{"artifactId":"appfuse-basic-jsf","groupId":"org.appfuse.archetypes","versions":["2.0.2","2.0.1","2.0","2.0-rc1"],"description":"Maven 2 archetype that creates a web application with AppFuse embedded in it."},{"artifactId":"appfuse-basic-jsf-archetype","groupId":"org.appfuse.archetypes","versions":["3.5.0","3.0.0","2.2.1","2.2","2.1.0","2.1.0-M2","2.1.0-M1"],"description":"AppFuse Web Frameworks: JSF, Spring MVC, Struts 2 and Tapestry."},{"artifactId":"appfuse-basic-spring","groupId":"org.appfuse.archetypes","versions":["2.0.2","2.0.1","2.0","2.0-rc1"],"description":"Maven 2 archetype that creates a web application with AppFuse embedded in it."},{"artifactId":"appfuse-basic-spring-archetype","groupId":"org.appfuse.archetypes","versions":["3.5.0","3.0.0","2.2.1","2.2","2.1.0","2.1.0-M2","2.1.0-M1"],"description":"AppFuse Web Frameworks: JSF, Spring MVC, Struts 2 and Tapestry."},{"artifactId":"appfuse-basic-struts","groupId":"org.appfuse.archetypes","versions":["2.0.2","2.0.1","2.0","2.0-rc1"],"description":"Maven 2 archetype that creates a web application with AppFuse embedded in it."},{"artifactId":"appfuse-basic-struts-archetype","groupId":"org.appfuse.archetypes","versions":["3.5.0","3.0.0","2.2.1","2.2","2.1.0","2.1.0-M2","2.1.0-M1"],"description":"AppFuse Web Frameworks: JSF, Spring MVC, Struts 2 and Tapestry."},{"artifactId":"appfuse-basic-tapestry","groupId":"org.appfuse.archetypes","versions":["2.0.2","2.0.1","2.0","2.0-rc1"],"description":"Maven 2 archetype that creates a web application with AppFuse embedded in it."},{"artifactId":"appfuse-basic-tapestry-archetype","groupId":"org.appfuse.archetypes","versions":["3.5.0","3.0.0","2.2.1","2.2","2.1.0","2.1.0-M2","2.1.0-M1"],"description":"AppFuse Web Frameworks: JSF, Spring MVC, Struts 2 and Tapestry."},{"artifactId":"appfuse-basic-wicket-archetype","groupId":"org.appfuse.archetypes","versions":["3.5.0","3.0.0"],"description":"AppFuse Web Frameworks: JSF, Spring MVC, Struts 2 and Tapestry."},{"artifactId":"appfuse-core","groupId":"org.appfuse.archetypes","versions":["2.0.2","2.0.1","2.0","2.0-rc1"],"description":"Maven 2 archetype that creates a backend (Managers, DAOs and Web Services)\n application with AppFuse embedded in it."},{"artifactId":"appfuse-core-archetype","groupId":"org.appfuse.archetypes","versions":["3.5.0","3.0.0","2.2.1","2.2","2.1.0","2.1.0-M2","2.1.0-M1"],"description":"AppFuse is a full-stack framework for building web applications on the JVM."},{"artifactId":"appfuse-light-jsf-archetype","groupId":"org.appfuse.archetypes","versions":["3.5.0","2.2.1","2.1.0","2.1.0-M1"],"description":"AppFuse Archetype"},{"artifactId":"appfuse-light-spring-archetype","groupId":"org.appfuse.archetypes","versions":["3.5.0","2.2.1","2.1.0","2.1.0-M1"],"description":"AppFuse Archetype"},{"artifactId":"appfuse-light-spring-freemarker-archetype","groupId":"org.appfuse.archetypes","versions":["3.5.0","2.2.1","2.1.0","2.1.0-M1"],"description":"AppFuse Archetype"},{"artifactId":"appfuse-light-spring-security-archetype","groupId":"org.appfuse.archetypes","versions":["3.5.0","2.2.1","2.1.0","2.1.0-M1"],"description":"AppFuse Archetype"},{"artifactId":"appfuse-light-stripes-archetype","groupId":"org.appfuse.archetypes","versions":["3.5.0","2.2.1","2.1.0","2.1.0-M1"],"description":"AppFuse Archetype"},{"artifactId":"appfuse-light-struts-archetype","groupId":"org.appfuse.archetypes","versions":["3.5.0","2.2.1","2.1.0","2.1.0-M1"],"description":"AppFuse Archetype"},{"artifactId":"appfuse-light-tapestry-archetype","groupId":"org.appfuse.archetypes","versions":["3.5.0","2.2.1","2.1.0","2.1.0-M1"],"description":"AppFuse Archetype"},{"artifactId":"appfuse-light-wicket-archetype","groupId":"org.appfuse.archetypes","versions":["3.5.0","2.2.1","2.1.0","2.1.0-M1"],"description":"AppFuse Archetype"},{"artifactId":"appfuse-modular-gwt-archetype","groupId":"org.appfuse.archetypes","versions":["3.5.0"],"description":"AppFuse is a full-stack framework for building web applications on the JVM."},{"artifactId":"appfuse-modular-jsf","groupId":"org.appfuse.archetypes","versions":["2.0.2","2.0.1","2.0","2.0-rc1"],"description":"Maven 2 archetype that creates a modular web application with AppFuse. This archetype creates two modules:\n \"core\" and \"web\". The core module depends on appfuse-service, while the web module depends on core as well\n as AppFuse's JSF implementation."},{"artifactId":"appfuse-modular-jsf-archetype","groupId":"org.appfuse.archetypes","versions":["3.5.0","3.0.0","2.2.1","2.2","2.1.0","2.1.0-M2","2.1.0-M1"],"description":"AppFuse is a full-stack framework for building web applications on the JVM."},{"artifactId":"appfuse-modular-spring","groupId":"org.appfuse.archetypes","versions":["2.0.2","2.0.1","2.0","2.0-rc1"],"description":"Maven 2 archetype that creates a modular web application with AppFuse. This archetype creates two modules:\n \"core\" and \"web\". The core module depends on appfuse-service, while the web module depends on core as well\n as AppFuse's Spring MVC implementation."},{"artifactId":"appfuse-modular-spring-archetype","groupId":"org.appfuse.archetypes","versions":["3.5.0","3.0.0","2.2.1","2.2","2.1.0","2.1.0-M2","2.1.0-M1"],"description":"AppFuse is a full-stack framework for building web applications on the JVM."},{"artifactId":"appfuse-modular-struts","groupId":"org.appfuse.archetypes","versions":["2.0.2","2.0.1","2.0","2.0-rc1"],"description":"Maven 2 archetype that creates a modular web application with AppFuse. This archetype creates two modules:\n \"core\" and \"web\". The core module depends on appfuse-service, while the web module depends on core as well\n as AppFuse's Struts implementation."},{"artifactId":"appfuse-modular-struts-archetype","groupId":"org.appfuse.archetypes","versions":["3.5.0","3.0.0","2.2.1","2.2","2.1.0","2.1.0-M2","2.1.0-M1"],"description":"AppFuse is a full-stack framework for building web applications on the JVM."},{"artifactId":"appfuse-modular-tapestry","groupId":"org.appfuse.archetypes","versions":["2.0.2","2.0.1","2.0","2.0-rc1"],"description":"Maven 2 archetype that creates a modular web application with AppFuse. This archetype creates two modules:\n \"core\" and \"web\". The core module depends on appfuse-service, while the web module depends on core as well\n as AppFuse's Tapestry implementation."},{"artifactId":"appfuse-modular-tapestry-archetype","groupId":"org.appfuse.archetypes","versions":["3.5.0","3.0.0","2.2.1","2.2","2.1.0","2.1.0-M2","2.1.0-M1"],"description":"AppFuse is a full-stack framework for building web applications on the JVM."},{"artifactId":"appfuse-modular-wicket-archetype","groupId":"org.appfuse.archetypes","versions":["3.5.0","3.0.0"],"description":"AppFuse is a full-stack framework for building web applications on the JVM."},{"artifactId":"appfuse-ws-archetype","groupId":"org.appfuse.archetypes","versions":["3.5.0","3.0.0","2.2.1","2.2","2.1.0"],"description":"AppFuse is a full-stack framework for building web applications on the JVM."},{"artifactId":"appng-archetype-application","groupId":"org.appng","versions":["1.24.5","1.24.2","1.24.0","1.23.3","1.23.2","1.23.1","1.23.0","1.22.1","1.22.0","1.21.0","1.20.2","1.20.1","1.20.0","1.19.1","1.19.0","1.18.0","1.17.1","1.17.0","1.16.2","1.16.1","1.16.0","1.15.0","1.14.4","1.14.1"]},{"artifactId":"appops-br-archetype","groupId":"org.appops","versions":["0.3.0","0.1.8"],"description":"appops br archetype to setup project easily"},{"artifactId":"appops-br-impl-archetype","groupId":"org.appops","versions":["1.0-RC-5","1.0-RC-2","1.0-RC-1","0.9.0","0.7.0","0.5.0","0.3.0","0.1.3"],"description":"appops br slim archetype to setup impl project"},{"artifactId":"appops-br-slim-archetype","groupId":"org.appops","versions":["1.0-RC-5","1.0-RC-2","1.0-RC-1","0.9.0","0.7.0","0.5.0","0.0.3"],"description":"appops br slim archetype to setup slim project"},{"artifactId":"appops-br-standalone-archetype","groupId":"org.appops","versions":["0.4.0","0.3.0"],"description":"appops br archetype to setup project easily"},{"artifactId":"appverse-web-archetypes-gwt","groupId":"org.appverse.web.framework.archetypes.gwt","versions":["1.4-MILESTONE_1","1.3-RELEASE","1.2.5-RELEASE","1.2.4-RELEASE","1.2.3-RELEASE","1.2.2","1.2.1","1.2.0-RELEASE","1.1.0-RELEASE","1.1-BETA-1","1.0.4-BETA-1"],"description":"Appverse Web Framework Archetypes GWT Archetype"},{"artifactId":"appverse-web-archetypes-gwt-eclipselink","groupId":"org.appverse.web.framework.archetypes.gwt","versions":["1.5.3-RELEASE","1.5.0-RELEASE","1.4.1-MILESTONE_2","1.4-RELEASE"],"description":"Appverse Web Framework Archetypes GWT Eclipselink Archetype"},{"artifactId":"appverse-web-archetypes-gwt-hibernate","groupId":"org.appverse.web.framework.archetypes.gwt","versions":["1.5.3-RELEASE","1.5.0-RELEASE","1.4.1-MILESTONE_2","1.4-RELEASE"],"description":"Appverse Web Framework Archetypes GWT Hibernate Archetype"},{"artifactId":"appverse-web-archetypes-gwtproject","groupId":"org.appverse.web.framework.archetypes.gwtproject","versions":["1.0.3"],"description":"Appverse Web Framework Tools Archetypes GWT Project"},{"artifactId":"appverse-web-archetypes-jsf2","groupId":"org.appverse.web.framework.archetypes.jsf2","versions":["1.5.3-RELEASE","1.5.0-RELEASE","1.4.1-MILESTONE_2","1.4-RELEASE","1.4-MILESTONE_1","1.3-RELEASE","1.2.5-RELEASE","1.2.4-RELEASE","1.2.3-RELEASE","1.2.2","1.2.1","1.2.0-RELEASE","1.1.0-RELEASE"],"description":"Appverse Web Framework Archetypes JSF2 Archetype"},{"artifactId":"appverse-web-archetypes-rest-eclipselink","groupId":"org.appverse.web.framework.archetypes.rest","versions":["1.5.3-RELEASE","1.5.0-RELEASE","1.4.1-MILESTONE_2"],"description":"Appverse Web Framework Archetypes Rest Eclipselink Archetype"},{"artifactId":"appverse-web-tools-archetypes-gwtproject","groupId":"org.appverse.web.framework.tools.archetypes.gwtproject","versions":["1.0.2","1.0.1"],"description":"Appverse Web Framework Tools Archetypes GWT Project"},{"artifactId":"homework-quickstart","groupId":"org.atp-fivt","versions":["1.0","1.07","1.06","1.05","1.04","1.03","1.02","1.01"],"description":"Maven Archetype for quick creation of homework projects"},{"artifactId":"distribution-archetype","groupId":"org.atteo.moonshine","versions":["1.2","1.1","1.0"]},{"artifactId":"hibernate-archetype","groupId":"org.atteo.moonshine","versions":["1.2","1.1","1.0"]},{"artifactId":"rest-archetype","groupId":"org.atteo.moonshine","versions":["1.2","1.1","1.0"]},{"artifactId":"service-archetype","groupId":"org.atteo.moonshine","versions":["1.2","1.1","1.0","0.9"]},{"artifactId":"standalone-archetype","groupId":"org.atteo.moonshine","versions":["0.9"]},{"artifactId":"kotlin","groupId":"org.avaje.archetype","versions":["1.1"]},{"artifactId":"ebean-start","groupId":"org.avaje.ebeanorm","versions":["1.0"]},{"artifactId":"baracus-maven-archetype","groupId":"org.baracus.application","versions":["0.9.1","0.9","0.8.2","0.8.1"],"description":"Maven Mrchetype for the BARACUS framework for Android application"},{"artifactId":"org.beamfoundry.bundles.spring-dm-bundle-archetype","groupId":"org.beamfoundry.bundles.spring-dm","versions":["1.3.1","1.3.0"],"description":"Spring DM Maven2 Archetype"},{"artifactId":"beangle-webmvc-archetype-starter","groupId":"org.beangle.webmvc","versions":["0.2.7","0.2.6","0.2.5","0.2.4","0.2.3","0.2.2","0.2.1","0.2.0","0.1.3","0.1.1","0.1.0"]},{"artifactId":"beangle-webui-archetype_2.11","groupId":"org.beangle.webui","versions":["0.0.5","0.0.4","0.0.3","0.0.2","0.0.1"]},{"artifactId":"beangle-webui-archetype_2.12","groupId":"org.beangle.webui","versions":["0.0.15","0.0.14","0.0.13","0.0.12","0.0.11","0.0.10","0.0.9","0.0.8","0.0.7","0.0.6"]},{"artifactId":"micro-service","groupId":"org.biins","versions":["1.0.1","1.0.0"],"description":"Spring boot micro service archetype"},{"artifactId":"paxtools-archetype","groupId":"org.biopax.paxtools","versions":["5.1.0","5.0.1","5.0.0","5.0.0-beta1","4.3.1"],"description":"Paxtools Maven archetype - sample Java project to quickly start using Paxtools library and BioPAX data."},{"artifactId":"etlunit-database-schema-archetype","groupId":"org.bitbucket.bradleysmithllc.etlunit","versions":["4.6.0-eu","4.5.24-eu","4.5.23-eu","4.5.22-eu","4.5.21-eu","4.5.20-eu","4.5.19-eu","4.5.18-eu","4.5.17-eu","4.5.16-eu","4.5.15-eu","4.5.14-eu","4.5.13-eu","4.5.12-eu","4.5.11-eu","4.5.10-eu","4.5.9-eu","4.5.8-eu","4.5.7-eu","4.5.5-eu","4.5.4-eu","4.5.3-eu","4.5.2-eu","4.5.1-eu","4.5.0-eu","4.4.18-eu","4.4.17-eu","4.4.16-eu","4.4.15-eu","4.4.14-eu","4.4.13-eu","4.4.12-eu","4.4.11-eu","4.4.10-eu","4.4.9-eu","4.4.8-eu","4.4.7-eu","4.4.6-eu","4.4.5-eu","4.4.4-eu","4.4.3-eu","4.4.2-eu","4.4.1-eu","4.4.0-eu","4.3.8-eu","4.3.7-eu","4.3.6-eu","4.3.5-eu","4.3.4-eu","4.3.3-eu","4.3.2-eu","4.3.1-eu","4.3.0-eu","4.2.0","4.1.16","4.1.15","4.1.14","4.1.13","4.1.12","4.1.11","4.1.10","4.1.9","4.1.8","4.1.7","4.1.6","4.1.5","4.1.3","4.1.1","4.1.0","4.0.9","4.0.8","4.0.7","4.0.6","4.0.5","4.0.3","4.0.2","4.0.1","4.0.0","3.9.8","3.9.6","3.9.5","3.9.4","3.9.3","3.9.2","3.9.1","3.9.0","3.8.1","3.8.0","3.7.0","3.6.1","3.6.0","3.5.1","3.5.0","3.4.14","3.4.13","3.4.12","3.4.11","3.4.10","3.4.9","3.4.8","3.4.7","3.4.6","3.4.5","3.4.4","3.4.3","3.4.2","3.4.1","3.4.0","3.3.0","3.2.6","3.2.5","3.2.4","3.2.3","3.2.2","3.2.1","3.2.0","3.1.8","3.1.7","3.1.6","3.1.5","3.1.4","3.1.3","3.1.2","3.1.1","3.1.0","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.0.26","2.0.25","2.0.24","2.0.23","2.0.22","2.0.21","2.0.20","2.0.19","2.0.18","2.0.16","2.0.15","2.0.14","2.0.13","2.0.12","2.0.11","2.0.10","2.0.9","2.0.8","2.0.7","2.0.6","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","1.9.26","1.9.25","1.9.24","1.9.23","1.9.22","1.9.21","1.9.20","1.9.19","1.9.18","1.9.17","1.9.16","1.9.15","1.9.14","1.9.13","1.9.12","1.9.11","1.9.10","1.9.9","1.9.8","etlunit-4.2.8","etlunit-4.2.7","etlunit-4.2.6","etlunit-4.2.5","etlunit-4.2.4","etlunit-4.2.3","etlunit-4.2.2","etlunit-4.2.1","4.1.4.1"]},{"artifactId":"etlunit-feature-archetype","groupId":"org.bitbucket.bradleysmithllc.etlunit","versions":["4.6.0-eu","4.5.24-eu","4.5.23-eu","4.5.22-eu","4.5.21-eu","4.5.20-eu","4.5.19-eu","4.5.18-eu","4.5.17-eu","4.5.16-eu","4.5.15-eu","4.5.14-eu","4.5.13-eu","4.5.12-eu","4.5.11-eu","4.5.10-eu","4.5.9-eu","4.5.8-eu","4.5.7-eu","4.5.5-eu","4.5.4-eu","4.5.3-eu","4.5.2-eu","4.5.1-eu","4.5.0-eu","4.4.18-eu","4.4.17-eu","4.4.16-eu","4.4.15-eu","4.4.14-eu","4.4.13-eu","4.4.12-eu","4.4.11-eu","4.4.10-eu","4.4.9-eu","4.4.8-eu","4.4.7-eu","4.4.6-eu","4.4.5-eu","4.4.4-eu","4.4.3-eu","4.4.2-eu","4.4.1-eu","4.4.0-eu","4.3.8-eu","4.3.7-eu","4.3.6-eu","4.3.5-eu","4.3.4-eu","4.3.3-eu","4.3.2-eu","4.3.1-eu","4.3.0-eu","4.2.0","4.1.16","4.1.15","4.1.14","4.1.13","4.1.12","4.1.11","4.1.10","4.1.9","4.1.8","4.1.7","4.1.6","4.1.5","4.1.3","4.1.1","4.1.0","4.0.9","4.0.8","4.0.7","4.0.6","4.0.5","4.0.3","4.0.2","4.0.1","4.0.0","3.9.8","3.9.6","3.9.5","3.9.4","3.9.3","3.9.2","3.9.1","3.9.0","3.8.1","3.8.0","3.7.0","3.6.1","3.6.0","3.5.1","3.5.0","3.4.14","3.4.13","3.4.12","3.4.11","3.4.10","3.4.9","3.4.8","3.4.7","3.4.6","3.4.5","3.4.4","3.4.3","3.4.2","3.4.1","3.4.0","3.3.0","3.2.6","3.2.5","3.2.4","3.2.3","3.2.2","3.2.1","3.2.0","3.1.8","3.1.7","3.1.6","3.1.5","3.1.4","3.1.3","3.1.2","3.1.1","3.1.0","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.0.26","2.0.25","2.0.24","2.0.23","2.0.22","2.0.21","2.0.20","2.0.19","2.0.18","2.0.16","2.0.15","2.0.14","2.0.13","2.0.12","2.0.11","2.0.10","2.0.9","2.0.8","2.0.7","2.0.6","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","1.9.26","1.9.25","1.9.24","1.9.23","1.9.22","1.9.21","1.9.20","1.9.19","1.9.18","1.9.17","1.9.16","1.9.15","1.9.14","1.9.13","1.9.12","1.9.11","1.9.10","1.9.9","1.9.8","1.9.7","1.9.6","1.9.5","1.9.4","1.9.3","1.9.2","1.9.1","1.9.0","1.8.27","1.8.26","1.8.25","1.8.24","1.8.23","1.8.22","1.8.21","1.8.20","1.8.19","1.8.18","etlunit-4.2.8","etlunit-4.2.7","etlunit-4.2.6","etlunit-4.2.5","etlunit-4.2.4","etlunit-4.2.3","etlunit-4.2.2","etlunit-4.2.1","4.1.4.1"]},{"artifactId":"etlunit-hadoop-test-archetype","groupId":"org.bitbucket.bradleysmithllc.etlunit","versions":["4.6.0-eu","4.5.24-eu","4.5.23-eu","4.5.22-eu","4.5.21-eu","4.5.20-eu","4.5.19-eu","4.5.18-eu","4.5.17-eu","4.5.16-eu","4.5.15-eu","4.5.14-eu","4.5.13-eu","4.5.12-eu","4.5.11-eu","4.5.10-eu","4.5.9-eu","4.5.8-eu","4.5.7-eu","4.5.5-eu","4.5.4-eu","4.5.3-eu","4.5.2-eu","4.5.1-eu","4.5.0-eu","4.4.18-eu","4.4.17-eu","4.4.16-eu","4.4.15-eu","4.4.14-eu","4.4.13-eu","4.4.12-eu","4.4.11-eu","4.4.10-eu","4.4.9-eu","4.4.8-eu","4.4.7-eu","4.4.6-eu","4.4.5-eu","4.4.4-eu","4.4.3-eu","4.4.2-eu","4.4.1-eu","4.4.0-eu","4.3.8-eu","4.3.7-eu","4.3.6-eu","4.3.5-eu","4.3.4-eu","4.3.3-eu","4.3.2-eu","4.3.1-eu","4.3.0-eu","4.2.0","4.1.16","4.1.15","4.1.14","4.1.13","4.1.12","4.1.11","4.1.10","4.1.9","4.1.8","4.1.7","4.1.6","4.1.5","4.1.3","4.1.1","4.1.0","4.0.9","4.0.8","4.0.7","4.0.6","4.0.5","4.0.3","4.0.2","4.0.1","4.0.0","etlunit-4.2.8","etlunit-4.2.7","etlunit-4.2.6","etlunit-4.2.5","etlunit-4.2.4","etlunit-4.2.3","etlunit-4.2.2","etlunit-4.2.1","4.1.4.1"]},{"artifactId":"etlunit-informatica-test-archetype","groupId":"org.bitbucket.bradleysmithllc.etlunit","versions":["4.6.0-eu","4.5.24-eu","4.5.23-eu","4.5.22-eu","4.5.21-eu","4.5.20-eu","4.5.19-eu","4.5.18-eu","4.5.17-eu","4.5.16-eu","4.5.15-eu","4.5.14-eu","4.5.13-eu","4.5.12-eu","4.5.11-eu","4.5.10-eu","4.5.9-eu","4.5.8-eu","4.5.7-eu","4.5.5-eu","4.5.4-eu","4.5.3-eu","4.5.2-eu","4.5.1-eu","4.5.0-eu","4.4.18-eu","4.4.17-eu","4.4.16-eu","4.4.15-eu","4.4.14-eu","4.4.13-eu","4.4.12-eu","4.4.11-eu","4.4.10-eu","4.4.9-eu","4.4.8-eu","4.4.7-eu","4.4.6-eu","4.4.5-eu","4.4.4-eu","4.4.3-eu","4.4.2-eu","4.4.1-eu","4.4.0-eu","4.3.8-eu","4.3.7-eu","4.3.6-eu","4.3.5-eu","4.3.4-eu","4.3.3-eu","4.3.2-eu","4.3.1-eu","4.3.0-eu","4.2.0","4.1.16","4.1.15","4.1.14","4.1.13","4.1.12","4.1.11","4.1.10","4.1.9","4.1.8","4.1.7","4.1.6","4.1.5","4.1.3","4.1.1","4.1.0","4.0.9","4.0.8","4.0.7","4.0.6","4.0.5","4.0.3","4.0.2","4.0.1","4.0.0","3.9.8","etlunit-4.2.8","etlunit-4.2.7","etlunit-4.2.6","etlunit-4.2.5","etlunit-4.2.4","etlunit-4.2.3","etlunit-4.2.2","etlunit-4.2.1","4.1.4.1"]},{"artifactId":"etlunit-project-archetype","groupId":"org.bitbucket.bradleysmithllc.etlunit","versions":["4.6.0-eu","4.5.24-eu","4.5.23-eu","4.5.22-eu","4.5.21-eu","4.5.20-eu","4.5.19-eu","4.5.18-eu","4.5.17-eu","4.5.16-eu","4.5.15-eu","4.5.14-eu","4.5.13-eu","4.5.12-eu","4.5.11-eu","4.5.10-eu","4.5.9-eu","4.5.8-eu","4.5.7-eu","4.5.5-eu","4.5.4-eu","4.5.3-eu","4.5.2-eu","4.5.1-eu","4.5.0-eu","4.4.18-eu","4.4.17-eu","4.4.16-eu","4.4.15-eu","4.4.14-eu","4.4.13-eu","4.4.12-eu","4.4.11-eu","4.4.10-eu","4.4.9-eu","4.4.8-eu","4.4.7-eu","4.4.6-eu","4.4.5-eu","4.4.4-eu","4.4.3-eu","4.4.2-eu","4.4.1-eu","4.4.0-eu","4.3.8-eu","4.3.7-eu","4.3.6-eu","4.3.5-eu","4.3.4-eu","4.3.3-eu","4.3.2-eu","4.3.1-eu","4.3.0-eu","4.2.0","4.1.16","4.1.15","4.1.14","4.1.13","4.1.12","4.1.11","4.1.10","4.1.9","4.1.8","4.1.7","4.1.6","4.1.5","4.1.3","4.1.1","4.1.0","4.0.9","4.0.8","4.0.7","4.0.6","4.0.5","4.0.3","4.0.2","4.0.1","4.0.0","3.9.8","3.9.6","3.9.5","3.9.4","3.9.3","3.9.2","3.9.1","3.9.0","3.8.1","3.8.0","3.7.0","3.6.1","3.6.0","3.5.1","3.5.0","3.4.14","3.4.13","3.4.12","3.4.11","3.4.10","3.4.9","3.4.8","3.4.7","3.4.6","3.4.5","3.4.4","3.4.3","3.4.2","3.4.1","3.4.0","3.3.0","3.2.6","3.2.5","3.2.4","3.2.3","3.2.2","3.2.1","3.2.0","3.1.8","3.1.7","3.1.6","3.1.5","3.1.4","3.1.3","3.1.2","3.1.1","3.1.0","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.0.31","2.0.30","2.0.29","2.0.28","2.0.27","2.0.26","2.0.25","2.0.24","2.0.23","2.0.22","2.0.21","2.0.20","2.0.19","2.0.18","2.0.16","2.0.15","2.0.14","2.0.13","2.0.12","2.0.11","2.0.10","2.0.9","2.0.8","2.0.7","2.0.6","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","1.9.26","1.9.25","1.9.24","1.9.23","1.9.22","1.9.21","1.9.20","1.9.19","1.9.18","1.9.17","1.9.16","1.9.15","1.9.14","1.9.13","1.9.12","1.9.11","1.9.10","1.9.9","1.9.8","1.9.7","1.9.6","1.9.5","1.9.4","1.9.3","1.9.2","1.9.1","1.9.0","1.8.27","1.8.26","1.8.25","1.8.24","1.8.23","1.8.22","1.8.21","1.8.20","1.8.19","1.8.18","etlunit-4.2.8","etlunit-4.2.7","etlunit-4.2.6","etlunit-4.2.5","etlunit-4.2.4","etlunit-4.2.3","etlunit-4.2.2","etlunit-4.2.1","4.1.4.1"]},{"artifactId":"feature-archetype","groupId":"org.bitbucket.bradleysmithllc.etlunit","versions":["1.8.16","1.8.15","1.8.14","1.8.13","1.8.12","1.8.11","1.8.9","1.8.8","1.8.7","1.8.6","1.8.5","1.8.4","1.8.3","1.8.2","1.8.1","1.8.0","1.7.3","1.7.2","1.7.1","1.7.0","1.6.13","1.6.12","1.6.11","1.6.10"]},{"artifactId":"project-archetype","groupId":"org.bitbucket.bradleysmithllc.etlunit","versions":["1.8.16","1.8.15","1.8.14","1.8.13","1.8.12","1.8.11","1.8.9","1.8.8","1.8.7","1.8.6","1.8.5","1.8.4","1.8.3","1.8.2","1.8.1","1.8.0","1.7.3","1.7.2","1.7.1","1.7.0","1.6.13","1.6.12","1.6.11","1.6.10"]},{"artifactId":"jee8webapp-fcgp-maven-archetype","groupId":"org.bitbucket.fredguedespereira","versions":["2.0.0","1.1.0","1.0.2","1.0.0"],"description":"Custom JSF 2.3 + Primefaces + JPA config for Wildfly 20.0 Maven Archetype"},{"artifactId":"cimande-archetype","groupId":"org.blueoxygen.cimande","versions":["2.0-RC2","2.0-RC2.1"]},{"artifactId":"cimande-archetype-blank","groupId":"org.blueoxygen.cimande","versions":["2.0","2.0-RC3","2.0-RC2.4","1.0"]},{"artifactId":"org.bndly.common.app-archetype","groupId":"org.bndly.common","versions":["1.0.3","1.0.2","1.0.1","1.0.0"]},{"artifactId":"bonita-actorfilter-archetype","groupId":"org.bonitasoft.archetypes","versions":["1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.1","1.0.0"],"description":"Maven archetype to bootstrap a Bonita actor filter project"},{"artifactId":"bonita-connector-archetype","groupId":"org.bonitasoft.archetypes","versions":["1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.1","1.1.0","1.0.0"],"description":"Maven archetype to bootstrap a Bonita connector project"},{"artifactId":"bonita-rest-api-extension-archetype","groupId":"org.bonitasoft.archetypes","versions":["1.5.0","1.4.3","1.4.2","1.4.1","1.4.0","1.3.1","1.3.0"],"description":"Maven archetype to bootstrap a Bonita Rest API extension project"},{"artifactId":"bonita-theme-archetype","groupId":"org.bonitasoft.archetypes","versions":["1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Maven archetype to bootstrap a Bonita theme project"},{"artifactId":"drools4-integration-helper-archetype","groupId":"org.boretti.drools.integration","versions":["1.1.0"],"description":"Support of the archetype for the Maven plugin"},{"artifactId":"drools5-integration-helper-archetype","groupId":"org.boretti.drools.integration","versions":["1.3.0","1.2.0","1.1.0","1.0.0"],"description":"This is an Maven 2 Archetype to support creation of a ready to\n\t\tuse Maven 2 project with Drools support. This archetype contains\n\t\texamples of code based on interface, classes and pre/post\n\t\tcondition. JUnit 4 examples are also included."},{"artifactId":"brillien-archetype","groupId":"org.brillien","versions":["12.10","12.05"]},{"artifactId":"ecommerce-archetype","groupId":"org.broadleafcommerce","versions":["1.6.0-GA","1.5.5-GA","1.5.4-GA","1.5.3-GA","1.5.2-GA","1.5.1-GA","1.5.0-GA"],"description":"BroadleafCommerce ECommerce Archetype"},{"artifactId":"jsonsrv-archetype","groupId":"org.brutusin","versions":["1.1.0","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0"],"description":"Maven archetype for creation of jsonsrv projects"},{"artifactId":"rpc-tomcat-jar","groupId":"org.brutusin","versions":["1.9.2","1.9.1","1.9.0","1.8.4","1.8.3","1.8.2","1.8.1","1.8.0","1.7.5","1.7.4","1.7.3","1.7.2","1.7.1","1.7.0","1.6.6","1.6.5","1.6.4","1.6.3","1.6.1","1.6.0","1.5.2","1.5.0","1.4.3","1.4.2","1.4.1","1.4.0","1.3.0","1.2.7","1.2.6","1.2.5","1.2.4","1.2.3","1.2.2"],"description":"Maven archetype for creation of Brutusin-RPC jar (standalone) projects, with a Tomcat runtime embedded"},{"artifactId":"rpc-tomcat-war","groupId":"org.brutusin","versions":["1.9.2","1.9.1","1.9.0","1.8.4","1.8.3","1.8.2","1.8.1","1.8.0","1.7.5","1.7.4","1.7.3","1.7.2","1.7.1","1.7.0","1.6.6","1.6.5","1.6.4","1.6.3","1.6.1","1.6.0","1.5.2","1.5.0","1.4.3","1.4.2","1.4.1","1.4.0","1.3.0","1.2.7","1.2.6","1.2.5","1.2.4","1.2.3","1.2.2"],"description":"Maven archetype for creation of Brutusin-RPC (standalone and deployable) war projects with a Tomcat runtime available for standalone scenarios"},{"artifactId":"java2ts-processor-archetype","groupId":"org.bsc.processor","versions":["1.3.1","1.3.0","1.2.0","1.1.0","1.0.0","1.0-rc1","1.0-beta2","1.0-beta1","0.2.0","0.1.0"]},{"artifactId":"maven-archetype-webapp","groupId":"org.bytesizebook.com.guide.boot","versions":["1.0"],"description":"An archetype to create the starting code for the first three chapters of Guide to Web Development with Java, 2nd edition."},{"artifactId":"camunda-archetype-cockpit-plugin","groupId":"org.camunda.bpm.archetype","versions":["7.18.0","7.17.0","7.16.0","7.15.0","7.14.0","7.11.1","7.11.0","7.10.0","7.9.2","7.9.1","7.9.0","7.8.1","7.8.0","7.7.4","7.7.2","7.7.1","7.6.1","7.6.0","7.5.0","7.4.0","7.3.2","7.3.1","7.3.0","7.2.1","7.2.0","7.1.3","7.1.2","1.0.0"],"description":"Plugin for Camunda Cockpit, contains REST-Backend, MyBatis database query, HTML and JavaScript frontend"},{"artifactId":"camunda-archetype-demo","groupId":"org.camunda.bpm.archetype","versions":["7.11.1","7.11.0","7.10.0","7.9.2","7.9.1","7.9.0","7.8.1","7.8.0","7.7.4","7.7.2","7.7.1","7.6.1","7.6.0"],"description":"Demo application with lots of pre-built parts that uses a shared Camunda BPM engine in a Servlet Container, e.g. Apache Tomcat.\n Contains: Servlet Process Application, BPMN Process, Java Delegate, HTML5-based start and task forms,\n JUnit Test with in-memory engine, Maven Plugins or Ant build script for one-click deployment in Eclipse"},{"artifactId":"camunda-archetype-ejb-war","groupId":"org.camunda.bpm.archetype","versions":["7.18.0","7.17.0","7.16.0","7.15.0","7.14.0","7.11.1","7.11.0","7.10.0","7.9.2","7.9.1","7.9.0","7.8.1","7.8.0","7.7.4","7.7.2","7.7.1","7.6.1","7.6.0","7.5.0","7.4.0","7.3.2","7.3.1","7.3.0","7.2.1","7.2.0","7.1.3","7.1.2","7.1.1","1.0.0"],"description":"Process application that uses a shared Camunda Platform engine in a Java EE Container, e.g. JBoss Wildfly.\n Contains: Camunda EJB Client, Camunda CDI Integration, BPMN Process, Java Delegate as CDI bean, HTML5-based start and task forms,\n configuration for JPA (Hibernate), JUnit Test with in-memory engine and visual process test coverage, Maven Plugins"},{"artifactId":"camunda-archetype-engine-plugin","groupId":"org.camunda.bpm.archetype","versions":["7.18.0","7.17.0","7.16.0","7.15.0","7.14.0","7.11.1","7.11.0","7.10.0","7.9.2","7.9.1","7.9.0","7.8.1","7.8.0","7.7.4","7.7.2","7.7.1","7.6.1","7.6.0","1.0.0"],"description":"Process engine plugin for Camunda BPM.\n Contains: ProcessEnginePlugin, ParseListener, JUnit Test with in-memory engine, BPMN process for testing."},{"artifactId":"camunda-archetype-servlet-spring-camel-war","groupId":"org.camunda.bpm.archetype","versions":["7.7.2","7.7.1","7.6.1"],"description":"Process application that uses a shared Camunda BPM engine in a Servlet Container, e.g. Apache Tomcat.\n Contains: Servlet Process Application, BPMN Process, Java Delegate, HTML5-based start and task forms,\n JUnit Test with in-memory engine, Maven Plugins or Ant build script for one-click deployment in Eclipse"},{"artifactId":"camunda-archetype-servlet-war","groupId":"org.camunda.bpm.archetype","versions":["7.18.0","7.17.0","7.16.0","7.15.0","7.14.0","7.11.1","7.11.0","7.10.0","7.9.2","7.9.1","7.9.0","7.8.1","7.8.0","7.7.4","7.7.2","7.7.1","7.6.1","7.6.0","7.5.0","7.4.0","7.3.2","7.3.1","7.3.0","7.2.1","7.2.0","7.1.3","7.1.2","7.1.1","1.0.0"],"description":"Process application that uses a shared Camunda Platform engine in a Servlet Container, e.g. Apache Tomcat.\n Contains: Servlet Process Application, BPMN Process, Java Delegate, HTML5-based start and task forms,\n JUnit Test with in-memory engine and visual process test coverage, Maven Plugins"},{"artifactId":"camunda-archetype-servlet-war-demo","groupId":"org.camunda.bpm.archetype","versions":["7.18.0","7.17.0","7.16.0","7.15.0","7.14.0","1.0.0"],"description":"Demo application with lots of pre-built parts that uses a shared Camunda Platform engine in a Servlet Container, e.g. Apache Tomcat.\n Contains: Servlet Process Application, BPMN Process, Java Delegate, HTML5-based start and task forms,\n JUnit Test with in-memory engine, Maven Plugins, and visual process test coverage"},{"artifactId":"camunda-archetype-spring-boot","groupId":"org.camunda.bpm.archetype","versions":["7.18.0","7.17.0","7.16.0","7.15.0","7.14.0","7.11.1","7.11.0","7.10.0","7.9.2","7.9.1","7.9.0","7.8.1","7.8.0","7.7.4","7.7.2","1.0.0"],"description":"Process application that uses the Spring Boot Starter\n Contains: BPMN Process, Java Delegate, HTML5- start and task forms,\n JUnit Test with in-memory engine and visual process test coverage"},{"artifactId":"camunda-archetype-spring-boot-demo","groupId":"org.camunda.bpm.archetype","versions":["7.18.0","7.17.0","7.16.0","7.15.0","7.14.0","7.11.1","7.11.0","7.10.0","1.0.0"],"description":"Demo application with lots of pre-built parts that uses the Spring Boot Starter\n Contains: BPMN Process, Java Delegate, HTML5- start and task forms,\n JUnit Test with in-memory engine and visual process test coverage"},{"artifactId":"org.carewebframework.mvn.archetype.plugin","groupId":"org.carewebframework","versions":["6.1.0-RC4","6.1.0-RC3","6.1.0-RC2","6.1.0-RC1","6.0.0","6.0.0-RC3","6.0.0-RC2","6.0.0-RC1","5.0.0-RC5","5.0.0-RC4","5.0.0-RC3","5.0.0-RC2","5.0.0-RC1","4.0.8","4.0.7","4.0.6","4.0.5","4.0.4","4.0.3","4.0.2","4.0.1","4.0.0","4.0.0-RC1","3.1.2","3.1.1","3.1.0"]},{"artifactId":"org.carewebframework.mvn.archetype.testharness","groupId":"org.carewebframework","versions":["6.1.0-RC4","6.1.0-RC3","6.1.0-RC2","6.1.0-RC1","6.0.0"]},{"artifactId":"org.carewebframework.mvn.archetype.webapp","groupId":"org.carewebframework","versions":["6.1.0-RC4","6.1.0-RC3","6.1.0-RC2","6.1.0-RC1","6.0.0"]},{"artifactId":"caseine.vpl.tools.archetype","groupId":"org.caseine","versions":["0.0.59","0.0.58","0.0.57","0.0.55","0.0.51","0.0.50","0.0.49","0.0.48","0.0.46","0.0.45","0.0.44","0.0.41","0.0.38","0.0.37","0.0.36","0.0.34","0.0.31","0.0.30","0.0.29","0.0.23","0.0.22","0.0.21","0.0.20","0.0.15","0.0.14","0.0.13","0.0.3","0.0.2","0.0.1"]},{"artifactId":"drools-service-runner-archetype","groupId":"org.chtijbug.drools","versions":["1.5.2","1.5.1","1.5.0","1.2.0","drools-framework-parent-1.5.3","1.1.0.17","1.1.0.17-2","1.1.0.17-1","1.1.0.16","1.1.0.15","1.1.0.14","1.1.0.13","1.1.0.12","1.1.0.11"]},{"artifactId":"citrus-simulator-archetype-jms","groupId":"org.citrusframework.archetypes","versions":["2.1.1","2.1.0","2.0.1","2.0.0"],"description":"Archetype for Citrus JMS simulator"},{"artifactId":"citrus-simulator-archetype-mail","groupId":"org.citrusframework.archetypes","versions":["2.1.1","2.1.0","2.0.1","2.0.0"],"description":"Archetype for Citrus mail simulator"},{"artifactId":"citrus-simulator-archetype-rest","groupId":"org.citrusframework.archetypes","versions":["2.1.1","2.1.0","2.0.1","2.0.0"],"description":"Archetype for Citrus REST simulator"},{"artifactId":"citrus-simulator-archetype-swagger","groupId":"org.citrusframework.archetypes","versions":["2.1.1","2.1.0","2.0.1","2.0.0"],"description":"Archetype for Citrus Swagger auto generated REST simulator"},{"artifactId":"citrus-simulator-archetype-ws","groupId":"org.citrusframework.archetypes","versions":["2.1.1","2.1.0","2.0.1","2.0.0"],"description":"Archetype for Citrus SOAP simulator"},{"artifactId":"citrus-simulator-archetype-wsdl","groupId":"org.citrusframework.archetypes","versions":["2.1.1","2.1.0","2.0.1","2.0.0"],"description":"Archetype for Citrus WSDL auto generated SOAP simulator"},{"artifactId":"cargo-archetype-daemon","groupId":"org.codehaus.cargo","versions":["1.10.5","1.10.4","1.10.3","1.10.2","1.10.1","1.10.0","1.9.13","1.9.12","1.9.11","1.9.10","1.9.9","1.9.8","1.9.7","1.9.6","1.9.5","1.9.4","1.9.3","1.9.2","1.9.1","1.9.0","1.8.5","1.8.4","1.8.3","1.8.2","1.8.1","1.8.0","1.7.16","1.7.15","1.7.14","1.7.13","1.7.12","1.7.11","1.7.10","1.7.9","1.7.8","1.7.7","1.7.6","1.7.5","1.7.4","1.7.3","1.7.2","1.7.1","1.7.0","1.6.11","1.6.10","1.6.9","1.6.8","1.6.7","1.6.6","1.6.5","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.5.1","1.5.0","1.4.19","1.4.18","1.4.17","1.4.16","1.4.15","1.4.14","1.4.13","1.4.12","1.4.11","1.4.10","1.4.9","1.4.8","1.4.7","1.4.6","1.4.5","1.4.4","1.4.3","1.4.2","1.4.1"],"description":"Sample Maven archetype showing how to configure Cargo and Maven to generate a webapp and remotely start and stop a container with the application deployed on it."},{"artifactId":"cargo-archetype-multiple-containers","groupId":"org.codehaus.cargo","versions":["1.10.5","1.10.4","1.10.3","1.10.2","1.10.1","1.10.0","1.9.13","1.9.12","1.9.11","1.9.10","1.9.9","1.9.8","1.9.7","1.9.6","1.9.5","1.9.4","1.9.3","1.9.2","1.9.1","1.9.0","1.8.5","1.8.4","1.8.3","1.8.2","1.8.1","1.8.0","1.7.16","1.7.15","1.7.14","1.7.13","1.7.12","1.7.11","1.7.10","1.7.9","1.7.8","1.7.7","1.7.6","1.7.5","1.7.4","1.7.3","1.7.2","1.7.1","1.7.0","1.6.11","1.6.10","1.6.9","1.6.8","1.6.7","1.6.6","1.6.5","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.5.1","1.5.0","1.4.19","1.4.18","1.4.17"],"description":"Sample Maven archetype showing how to start / stop multiple containers."},{"artifactId":"cargo-archetype-remote-deployment","groupId":"org.codehaus.cargo","versions":["1.10.5","1.10.4","1.10.3","1.10.2","1.10.1","1.10.0","1.9.13","1.9.12","1.9.11","1.9.10","1.9.9","1.9.8","1.9.7","1.9.6","1.9.5","1.9.4","1.9.3","1.9.2","1.9.1","1.9.0","1.8.5","1.8.4","1.8.3","1.8.2","1.8.1","1.8.0","1.7.16","1.7.15","1.7.14","1.7.13","1.7.12","1.7.11","1.7.10","1.7.9","1.7.8","1.7.7","1.7.6","1.7.5","1.7.4","1.7.3","1.7.2","1.7.1","1.7.0","1.6.11","1.6.10","1.6.9","1.6.8","1.6.7","1.6.6","1.6.5","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.5.1","1.5.0","1.4.19","1.4.18","1.4.17","1.4.16","1.4.15","1.4.14","1.4.13","1.4.12","1.4.11","1.4.10","1.4.9","1.4.8","1.4.7","1.4.6","1.4.5","1.4.4","1.4.3","1.4.2","1.4.1","1.4.0","1.3.3","1.3.2","1.3.1","1.3.0","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.4","1.1.3","1.1.2"],"description":"Sample Maven archetype showing how to configure Cargo and Maven to generate a webapp and deploy it to a remote container."},{"artifactId":"cargo-archetype-webapp-functional-tests-module","groupId":"org.codehaus.cargo","versions":["1.10.5","1.10.4","1.10.3","1.10.2","1.10.1","1.10.0","1.9.13","1.9.12","1.9.11","1.9.10","1.9.9","1.9.8","1.9.7","1.9.6","1.9.5","1.9.4","1.9.3","1.9.2","1.9.1","1.9.0","1.8.5","1.8.4","1.8.3","1.8.2","1.8.1","1.8.0","1.7.16","1.7.15","1.7.14","1.7.13","1.7.12","1.7.11","1.7.10","1.7.9","1.7.8","1.7.7","1.7.6","1.7.5","1.7.4","1.7.3","1.7.2","1.7.1","1.7.0","1.6.11","1.6.10","1.6.9","1.6.8","1.6.7","1.6.6","1.6.5","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.5.1","1.5.0","1.4.19","1.4.18","1.4.17","1.4.16","1.4.15","1.4.14","1.4.13","1.4.12","1.4.11","1.4.10","1.4.9","1.4.8","1.4.7","1.4.6","1.4.5","1.4.4","1.4.3","1.4.2","1.4.1","1.4.0","1.3.3","1.3.2","1.3.1","1.3.0","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.1-sr-1","1.0.1-beta-3","1.0.1-beta-2","1.0.1-beta-1","1.0.1-alpha-2","1.0.1-alpha-1","1.0","1.0-beta-2","1.0-beta-1","1.0-alpha-6","1.0-alpha-5","1.0-alpha-4","1.0-alpha-3","1.0-alpha-2","1.0-alpha-1","0.3.1"],"description":"Sample Maven archetype showing how to configure Cargo and Maven to run functional tests for a webapp by creating a separate functional-tests module."},{"artifactId":"cargo-archetype-webapp-single-module","groupId":"org.codehaus.cargo","versions":["1.10.5","1.10.4","1.10.3","1.10.2","1.10.1","1.10.0","1.9.13","1.9.12","1.9.11","1.9.10","1.9.9","1.9.8","1.9.7","1.9.6","1.9.5","1.9.4","1.9.3","1.9.2","1.9.1","1.9.0","1.8.5","1.8.4","1.8.3","1.8.2","1.8.1","1.8.0","1.7.16","1.7.15","1.7.14","1.7.13","1.7.12","1.7.11","1.7.10","1.7.9","1.7.8","1.7.7","1.7.6","1.7.5","1.7.4","1.7.3","1.7.2","1.7.1","1.7.0","1.6.11","1.6.10","1.6.9","1.6.8","1.6.7","1.6.6","1.6.5","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.5.1","1.5.0","1.4.19","1.4.18","1.4.17","1.4.16","1.4.15","1.4.14","1.4.13","1.4.12","1.4.11","1.4.10","1.4.9","1.4.8","1.4.7","1.4.6","1.4.5","1.4.4","1.4.3","1.4.2","1.4.1","1.4.0","1.3.3","1.3.2","1.3.1","1.3.0","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.1-sr-1","1.0.1-beta-3","1.0.1-beta-2","1.0.1-beta-1","1.0.1-alpha-2","1.0.1-alpha-1","1.0","1.0-beta-2","1.0-beta-1","1.0-alpha-6","1.0-alpha-5","1.0-alpha-4","1.0-alpha-3","1.0-alpha-2","1.0-alpha-1","0.3.1"],"description":"Sample Maven archetype showing how to configure Cargo and Maven to run functional tests directly from a single webapp module."},{"artifactId":"cargo-archetype-webapp-with-datasource","groupId":"org.codehaus.cargo","versions":["1.10.5","1.10.4","1.10.3","1.10.2","1.10.1","1.10.0","1.9.13","1.9.12","1.9.11","1.9.10","1.9.9","1.9.8","1.9.7","1.9.6","1.9.5","1.9.4","1.9.3","1.9.2","1.9.1","1.9.0","1.8.5","1.8.4","1.8.3","1.8.2","1.8.1","1.8.0","1.7.16","1.7.15","1.7.14","1.7.13","1.7.12","1.7.11","1.7.10","1.7.9","1.7.8","1.7.7","1.7.6","1.7.5","1.7.4","1.7.3","1.7.2","1.7.1","1.7.0","1.6.11","1.6.10","1.6.9","1.6.8","1.6.7","1.6.6","1.6.5","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.5.1","1.5.0","1.4.19","1.4.18","1.4.17","1.4.16","1.4.15","1.4.14","1.4.13","1.4.12","1.4.11","1.4.10","1.4.9","1.4.8","1.4.7","1.4.6","1.4.5","1.4.4","1.4.3","1.4.2","1.4.1","1.4.0","1.3.3","1.3.2","1.3.1","1.3.0","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.4","1.1.3","1.1.2"],"description":"Sample Maven archetype showing how to configure Cargo and Maven to run functional tests directly from a webapp with datasource. Cargo will be used to configure the datasource on the container."},{"artifactId":"castor-archetype-codegen-testcase","groupId":"org.codehaus.castor","versions":["1.4.1","1.4.0","1.3.3","1.3.3-rc1"],"description":"Maven archetype of a JUnit test case for the Castor XML code generator"},{"artifactId":"codegen-testcase","groupId":"org.codehaus.castor","versions":["1.3.1","1.3","1.0","1.3rc1","1.3.0.1"]},{"artifactId":"cpa-testcase","groupId":"org.codehaus.castor","versions":["1.3.1","1.3","1.3rc1","1.3.0.1"]},{"artifactId":"enunciate-simple-archetype","groupId":"org.codehaus.enunciate.archetypes","versions":["1.31","1.30.1","1.30","1.30-RC1","1.29","1.28","1.28-RC2","1.28-RC1","1.27","1.27-RC2","1.27-RC1","1.26.2","1.26.1","1.26","1.26-RC3","1.26-RC2","1.26-RC1","1.25","1.25-RC2","1.25-RC1","1.24","1.24-RC1","1.23","1.23-RC1","1.22","1.22-RC3","1.22-RC2","1.22-RC1","1.21.1","1.21","1.21-RC3","1.21-RC2","1.21-RC1","1.20","1.20-RC2","1.20-RC1","1.19","1.19-RC2","1.19-RC1","1.18","1.18-RC2","1.18-RC1","1.17","1.17-RC1","1.16","1.16-RC3","1.16-RC2","1.16-RC1"]},{"artifactId":"gmaven-archetype-basic","groupId":"org.codehaus.gmaven.archetypes","versions":["1.5","1.4","1.3","1.2","1.1"]},{"artifactId":"gmaven-archetype-mojo","groupId":"org.codehaus.gmaven.archetypes","versions":["1.5","1.4","1.3","1.2","1.1"]},{"artifactId":"griffon-javafx-groovy-archetype","groupId":"org.codehaus.griffon.maven","versions":["2.16.0","2.15.1","2.15.0"],"description":"Griffon JavaFX Groovy Archetype"},{"artifactId":"griffon-javafx-java-archetype","groupId":"org.codehaus.griffon.maven","versions":["2.16.0","2.15.1","2.15.0"],"description":"Griffon JavaFX Java Archetype"},{"artifactId":"griffon-lanterna-groovy-archetype","groupId":"org.codehaus.griffon.maven","versions":["2.16.0","2.15.1","2.15.0"],"description":"Griffon Lanterna Java Archetype"},{"artifactId":"griffon-lanterna-java-archetype","groupId":"org.codehaus.griffon.maven","versions":["2.16.0","2.15.1","2.15.0"],"description":"Griffon Lanterna Groovy Archetype"},{"artifactId":"griffon-pivot-groovy-archetype","groupId":"org.codehaus.griffon.maven","versions":["2.16.0","2.15.1","2.15.0"],"description":"Griffon Pivot Groovy Archetype"},{"artifactId":"griffon-pivot-java-archetype","groupId":"org.codehaus.griffon.maven","versions":["2.16.0","2.15.1","2.15.0"],"description":"Griffon Pivot Java Archetype"},{"artifactId":"griffon-swing-groovy-archetype","groupId":"org.codehaus.griffon.maven","versions":["2.16.0","2.15.1","2.15.0"],"description":"Griffon Swing Groovy Archetype"},{"artifactId":"griffon-swing-java-archetype","groupId":"org.codehaus.griffon.maven","versions":["2.16.0","2.15.1","2.15.0"],"description":"Griffon Swing Java Archetype"},{"artifactId":"gmaven-archetype-basic","groupId":"org.codehaus.groovy.maven.archetypes","versions":["1.0","1.0-rc-5","1.0-rc-5-kohsuke-1","1.0-rc-4","1.0-rc-3","1.0-rc-2","1.0-rc-1"]},{"artifactId":"gmaven-archetype-mojo","groupId":"org.codehaus.groovy.maven.archetypes","versions":["1.0","1.0-rc-5","1.0-rc-5-kohsuke-1","1.0-rc-4","1.0-rc-3","1.0-rc-2","1.0-rc-1"]},{"artifactId":"maven-archetype-nbm","groupId":"org.codehaus.mevenide.plugins","versions":["1.0.2"],"description":"Archetype for Netbeans Modules Maven setup"},{"artifactId":"gwt-maven-plugin","groupId":"org.codehaus.mojo","versions":["2.10.0","2.9.0","2.8.2","2.8.1","2.8.0","2.8.0-rc3","2.8.0-rc2","2.8.0-rc1","2.8.0-beta1","2.7.0","2.7.0-rc1","2.7.0-beta1","2.6.1","2.6.1-rc2","2.6.1-rc1","2.6.0","2.6.0-rc3","2.6.0-rc2","2.6.0-rc1","2.5.1","2.5.1-rc1","2.5.0","2.5.0-rc2","2.5.0-rc1","2.4.0","2.3.0-1","2.3.0","2.2.0","2.1.0-1","2.1.0","1.2","1.1"],"description":"Mojo's Maven Plugin for GWT"},{"artifactId":"javascript-ria-archetype","groupId":"org.codehaus.mojo","versions":["2.0.0-alpha-1"],"description":"A JavaScript Rich Internet Application template using jQuery and jQuery UI."},{"artifactId":"latex-maven-archetype","groupId":"org.codehaus.mojo","versions":["1.1","1.0"],"description":"The LaTeX Maven Archetype is kickstarts your LaTeX / Maven projects."},{"artifactId":"xmlbeans-maven-plugin","groupId":"org.codehaus.mojo","versions":["2.3.3","2.3.2","2.3.1","2.3.0","2.2.0","2.1.0","2.0.1"],"description":"Runs the xmlbeans parser/code generator against schemas in files and dependent jars."},{"artifactId":"appclient-javaee6","groupId":"org.codehaus.mojo.archetypes","versions":["1.0"],"description":"Archetype for an Application Client package using Java EE 6."},{"artifactId":"appclient-javaee7","groupId":"org.codehaus.mojo.archetypes","versions":["1.1","1.0"],"description":"Archetype for an Application Client package using Java EE 7."},{"artifactId":"appclient-jee5","groupId":"org.codehaus.mojo.archetypes","versions":["1.0"],"description":"Archetype for an Application Client package using Java EE 5."},{"artifactId":"appframework","groupId":"org.codehaus.mojo.archetypes","versions":["1.0"],"description":"Archetype for creating application based on JSR 296"},{"artifactId":"ear-j2ee14","groupId":"org.codehaus.mojo.archetypes","versions":["1.4","1.3","1.2","1.1","1.0.1","1.0"],"description":"Archetype for creating J2EE 1.4 EAR"},{"artifactId":"ear-javaee6","groupId":"org.codehaus.mojo.archetypes","versions":["1.5","1.4","1.3","1.2","1.1","1.0"],"description":"Archetype for EAR package using Java EE 6"},{"artifactId":"ear-javaee7","groupId":"org.codehaus.mojo.archetypes","versions":["1.0"],"description":"Archetype for EAR package using Java EE 7"},{"artifactId":"ear-jee5","groupId":"org.codehaus.mojo.archetypes","versions":["1.4","1.3","1.2","1.1","1.0.1","1.0"],"description":"Archetype for creating JEE 5 EAR"},{"artifactId":"ejb-j2ee13","groupId":"org.codehaus.mojo.archetypes","versions":["1.2","1.1","1.0"],"description":"An archetype which contains a sample J2EE 1.3 EJB Maven project."},{"artifactId":"ejb-j2ee14","groupId":"org.codehaus.mojo.archetypes","versions":["1.3","1.2","1.1","1.0.1","1.0"],"description":"An archetype which contains a sample J2EE 1.4 EJB Maven project."},{"artifactId":"ejb-javaee6","groupId":"org.codehaus.mojo.archetypes","versions":["1.5","1.4","1.3","1.2","1.1","1.0.2","1.0.1","1.0"],"description":"Archetype for an EJB package using Java EE 6."},{"artifactId":"ejb-javaee7","groupId":"org.codehaus.mojo.archetypes","versions":["1.1","1.0"],"description":"Archetype for an EJB package using Java EE 7."},{"artifactId":"ejb-jee5","groupId":"org.codehaus.mojo.archetypes","versions":["1.3","1.2","1.1","1.0.1","1.0"],"description":"JEE 5 ejb jar archetype"},{"artifactId":"javafx","groupId":"org.codehaus.mojo.archetypes","versions":["0.6","0.5","0.4","0.3","0.2"],"description":"Archetype for creating a JavaFX application"},{"artifactId":"nbm-archetype","groupId":"org.codehaus.mojo.archetypes","versions":["1.15","1.14","1.13.1","1.13","1.12.1","1.12","1.11","1.10","1.9","1.8","1.7","1.6","1.5","1.4","1.3","1.3-beta-1","1.2","1.1","1.0.1","1.0"],"description":"Archetype for development of NetBeans modules in Maven."},{"artifactId":"nbm-osgi-archetype","groupId":"org.codehaus.mojo.archetypes","versions":["1.0"],"description":"Archetype for development of NetBeans modules that can depend on OSGi bundles."},{"artifactId":"nbm-suite-root","groupId":"org.codehaus.mojo.archetypes","versions":["1.10","1.9.1","1.9","1.8","1.7","1.6","1.5","1.4","1.3","1.2","1.1","1.0","1.0-beta-1"],"description":"Root project archetype for creating multi module projects developing NetBeans IDE modules. Approximately similar in functionality to module suites in NetBeans Ant projects."},{"artifactId":"netbeans-platform-app-archetype","groupId":"org.codehaus.mojo.archetypes","versions":["1.20","1.19","1.18","1.17.1","1.17","1.16","1.15","1.14.1","1.14","1.13","1.12","1.11","1.10","1.9","1.8","1.7","1.6","1.5","1.4","1.3.1","1.3","1.3-beta-1","1.2.1","1.2","1.1","1.0.2","1.0.1","1.0"],"description":"Archetype for sample application based on NetBeans Platform. Creates parent POM with branding and empty NBM project."},{"artifactId":"osgi-archetype","groupId":"org.codehaus.mojo.archetypes","versions":["1.4","1.3","1.2","1.1","1.0","1.0-beta-2","1.0-beta-1"],"description":"Archetype for development of OSGi bundles using Apache Felix Maven plugin"},{"artifactId":"pom-root","groupId":"org.codehaus.mojo.archetypes","versions":["1.1","1.0.1","1.0"],"description":"Root project archetype for creating multi module projects"},{"artifactId":"sample-javafx","groupId":"org.codehaus.mojo.archetypes","versions":["0.5","0.4","0.3","0.2","0.1"],"description":"Sample archetype for creating a JavaFX application"},{"artifactId":"webapp-j2ee13","groupId":"org.codehaus.mojo.archetypes","versions":["1.2","1.1","1.0"],"description":"J2EE 1.3 web application archetype"},{"artifactId":"webapp-j2ee14","groupId":"org.codehaus.mojo.archetypes","versions":["1.3","1.2","1.1","1.0.1","1.0"],"description":"J2EE 1.4 web application archetype"},{"artifactId":"webapp-javaee6","groupId":"org.codehaus.mojo.archetypes","versions":["1.5","1.4","1.3","1.2","1.1","1.0.2","1.0.1","1.0"],"description":"Archetype for a web application using Java EE 6."},{"artifactId":"webapp-javaee7","groupId":"org.codehaus.mojo.archetypes","versions":["1.1","1.0"],"description":"Archetype for a web application using Java EE 7."},{"artifactId":"webapp-jee5","groupId":"org.codehaus.mojo.archetypes","versions":["1.3","1.2","1.1","1.0.1","1.0"],"description":"JEE 5 web application archetype"},{"artifactId":"groovy-maven-archetype","groupId":"org.codehaus.mojo.groovy","versions":["1.0-beta-3","1.0-beta-2"],"description":"An archetype for creating Maven modules/projects using the Groovy language."},{"artifactId":"groovy-mojo-archetype","groupId":"org.codehaus.mojo.groovy","versions":["1.0-beta-3","1.0-beta-2","1.0-beta-1","1.0-alpha-3"],"description":"An archetype for writing Maven 2 plugins in the Groovy language."},{"artifactId":"org.openxma.dsl.sample-archetype","groupId":"org.codehaus.openxma","versions":["1.0"]},{"artifactId":"sonar-basic-plugin-archetype","groupId":"org.codehaus.sonar.archetypes","versions":["2.11","2.11-RC3","2.11-RC2","2.11-RC1","2.10","2.10-RC2","2.10-RC1","2.9","2.9-RC1","2.8","2.8-RC2","2.7","2.7-RC3","2.7-RC2","2.6","2.6-RC1","2.5","2.5-RC1","2.4.1","2.4","2.4-RC2","2.4-RC1","2.3.1","2.3","2.3-RC2","2.3-RC1","2.2","2.1.2","2.1.1","2.1","2.0.1","2.0","1.12.1","1.12","1.11.1","1.11","2.3M1","2.2RC2","2.2RC1","2.2M1","2.1RC2","2.1RC1","2.1M2","2.1M1","2.0RC3","2.0RC2","2.0RC1","1.12RC1","1.11RC3","1.11RC2","1.11RC1"],"description":"Maven archetype to create a basic Sonar plugin"},{"artifactId":"sonar-gwt-plugin-archetype","groupId":"org.codehaus.sonar.archetypes","versions":["2.11","2.11-RC3","2.11-RC2","2.11-RC1","2.10","2.10-RC2","2.10-RC1","2.9","2.9-RC1","2.8","2.8-RC2","2.7","2.7-RC3","2.7-RC2","2.6","2.6-RC1","2.5","2.5-RC1","2.4.1","2.4","2.4-RC2","2.4-RC1","2.3.1","2.3","2.3-RC2","2.3-RC1","2.2","2.1.2","2.1.1","2.1","2.0.1","2.0","1.12.1","1.12","1.11.1","1.11","2.3M1","2.2RC2","2.2RC1","2.2M1","2.1RC2","2.1RC1","2.1M2","2.1M1","2.0RC3","2.0RC2","2.0RC1","1.12RC1","1.11RC3","1.11RC2","1.11RC1"],"description":"Maven archetype to create a Sonar plugin including GWT pages"},{"artifactId":"elasticsearch-plugin-archetype","groupId":"org.codelibs","versions":["6.6.0","2.3.0","1.5.0","1.4.1","1.4.0","1.3.0","1.2.0","1.1.0","1.0.0"],"description":"This archetype generates your project for Elasticsearch plugin."},{"artifactId":"cometd-archetype-dojo-jetty10","groupId":"org.cometd.archetypes","versions":["6.0.9","6.0.8","6.0.7","6.0.6","6.0.5","6.0.4","6.0.3","6.0.2","6.0.1"]},{"artifactId":"cometd-archetype-dojo-jetty11","groupId":"org.cometd.archetypes","versions":["7.0.9","7.0.8","7.0.7","7.0.6","7.0.5","7.0.4","7.0.3","7.0.2","7.0.1"]},{"artifactId":"cometd-archetype-dojo-jetty6","groupId":"org.cometd.archetypes","versions":["2.4.3","2.4.2","2.4.1","2.4.0","2.3.1","2.3.0","2.2.0","2.1.1","2.1.0","2.0.0","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.1","1.0.0","2.4.0.beta2","2.4.0.beta1","2.4.0.RC3","2.4.0.RC2","2.4.0.RC1","2.3.0.RC1","2.2.0.RC0","2.1.0.beta2","2.1.0.beta1","2.1.0.RC","2.0.beta1","2.0.0.RC3","2.0.0.RC2","2.0.0.RC1","1.0.beta10","1.0.0rc0"]},{"artifactId":"cometd-archetype-dojo-jetty7","groupId":"org.cometd.archetypes","versions":["2.9.1","2.9.0","2.9.0-beta1","2.8.0","2.8.0-beta1","2.8.0-RC1","2.7.0","2.7.0-beta2","2.7.0-beta1","2.7.0-RC1","2.6.0","2.6.0-RC1","2.5.1","2.5.0","2.5.0-beta3","2.5.0-beta2","2.5.0-beta1","2.5.0-RC1","2.4.3","2.4.2","2.4.1","2.4.0","2.3.1","2.3.0","2.2.0","2.1.1","2.1.0","2.0.0","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.1","1.0.0","2.4.0.beta2","2.4.0.beta1","2.4.0.RC3","2.4.0.RC2","2.4.0.RC1","2.3.0.RC1","2.2.0.RC0","2.1.0.beta2","2.1.0.beta1","2.1.0.RC","2.0.beta1","2.0.0.RC3","2.0.0.RC2","2.0.0.RC1","1.0.beta10","1.0.0rc0"]},{"artifactId":"cometd-archetype-dojo-jetty8","groupId":"org.cometd.archetypes","versions":["2.9.1","2.9.0","2.9.0-beta1","2.8.0","2.8.0-beta1","2.8.0-RC1","2.7.0","2.7.0-beta2","2.7.0-beta1","2.7.0-RC1","2.6.0","2.6.0-RC1","2.5.1","2.5.0","2.5.0-beta3","2.5.0-beta2","2.5.0-beta1","2.5.0-RC1"]},{"artifactId":"cometd-archetype-dojo-jetty9","groupId":"org.cometd.archetypes","versions":["7.0.0","6.0.0","5.0.14","5.0.13","5.0.12","5.0.11","5.0.10","5.0.9","5.0.8","5.0.7","5.0.6","5.0.5","5.0.4","5.0.3","5.0.2","5.0.1","5.0.0","5.0.0-BETA1","5.0.0-BETA0","4.0.9","4.0.8","4.0.7","4.0.6","4.0.5","4.0.4","4.0.3","4.0.2","4.0.1","4.0.0","4.0.0-BETA1","4.0.0-BETA0","3.1.14","3.1.13","3.1.12","3.1.11","3.1.10","3.1.9","3.1.8","3.1.7","3.1.6","3.1.5","3.1.4","3.1.3","3.1.2","3.1.2-RC0","3.1.2-BETA1","3.1.2-BETA0","3.1.1","3.1.0","3.1.0-RC1","3.1.0-RC0","3.1.0-BETA2","3.1.0-BETA1","3.1.0-BETA0","3.0.10","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","3.0.0.beta2","3.0.0.beta1","3.0.0.RC1"]},{"artifactId":"cometd-archetype-jquery-jetty10","groupId":"org.cometd.archetypes","versions":["6.0.9","6.0.8","6.0.7","6.0.6","6.0.5","6.0.4","6.0.3","6.0.2","6.0.1"]},{"artifactId":"cometd-archetype-jquery-jetty11","groupId":"org.cometd.archetypes","versions":["7.0.9","7.0.8","7.0.7","7.0.6","7.0.5","7.0.4","7.0.3","7.0.2","7.0.1"]},{"artifactId":"cometd-archetype-jquery-jetty6","groupId":"org.cometd.archetypes","versions":["2.4.3","2.4.2","2.4.1","2.4.0","2.3.1","2.3.0","2.2.0","2.1.1","2.1.0","2.0.0","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.1","1.0.0","2.4.0.beta2","2.4.0.beta1","2.4.0.RC3","2.4.0.RC2","2.4.0.RC1","2.3.0.RC1","2.2.0.RC0","2.1.0.beta2","2.1.0.beta1","2.1.0.RC","2.0.beta1","2.0.0.RC3","2.0.0.RC2","2.0.0.RC1","1.0.beta10","1.0.0rc0"]},{"artifactId":"cometd-archetype-jquery-jetty7","groupId":"org.cometd.archetypes","versions":["2.9.1","2.9.0","2.9.0-beta1","2.8.0","2.8.0-beta1","2.8.0-RC1","2.7.0","2.7.0-beta2","2.7.0-beta1","2.7.0-RC1","2.6.0","2.6.0-RC1","2.5.1","2.5.0","2.5.0-beta3","2.5.0-beta2","2.5.0-beta1","2.5.0-RC1","2.4.3","2.4.2","2.4.1","2.4.0","2.3.1","2.3.0","2.2.0","2.1.1","2.1.0","2.0.0","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.1","1.0.0","2.4.0.beta2","2.4.0.beta1","2.4.0.RC3","2.4.0.RC2","2.4.0.RC1","2.3.0.RC1","2.2.0.RC0","2.1.0.beta2","2.1.0.beta1","2.1.0.RC","2.0.beta1","2.0.0.RC3","2.0.0.RC2","2.0.0.RC1","1.0.beta10","1.0.0rc0"]},{"artifactId":"cometd-archetype-jquery-jetty8","groupId":"org.cometd.archetypes","versions":["2.9.1","2.9.0","2.9.0-beta1","2.8.0","2.8.0-beta1","2.8.0-RC1","2.7.0","2.7.0-beta2","2.7.0-beta1","2.7.0-RC1","2.6.0","2.6.0-RC1","2.5.1","2.5.0","2.5.0-beta3","2.5.0-beta2","2.5.0-beta1","2.5.0-RC1"]},{"artifactId":"cometd-archetype-jquery-jetty9","groupId":"org.cometd.archetypes","versions":["7.0.0","6.0.0","5.0.14","5.0.13","5.0.12","5.0.11","5.0.10","5.0.9","5.0.8","5.0.7","5.0.6","5.0.5","5.0.4","5.0.3","5.0.2","5.0.1","5.0.0","5.0.0-BETA1","5.0.0-BETA0","4.0.9","4.0.8","4.0.7","4.0.6","4.0.5","4.0.4","4.0.3","4.0.2","4.0.1","4.0.0","4.0.0-BETA1","4.0.0-BETA0","3.1.14","3.1.13","3.1.12","3.1.11","3.1.10","3.1.9","3.1.8","3.1.7","3.1.6","3.1.5","3.1.4","3.1.3","3.1.2","3.1.2-RC0","3.1.2-BETA1","3.1.2-BETA0","3.1.1","3.1.0","3.1.0-RC1","3.1.0-RC0","3.1.0-BETA2","3.1.0-BETA1","3.1.0-BETA0","3.0.10","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","3.0.0.beta2","3.0.0.beta1","3.0.0.RC1"]},{"artifactId":"cometd-archetype-spring-dojo-jetty10","groupId":"org.cometd.archetypes","versions":["6.0.9","6.0.8","6.0.7","6.0.6","6.0.5","6.0.4","6.0.3","6.0.2","6.0.1"]},{"artifactId":"cometd-archetype-spring-dojo-jetty7","groupId":"org.cometd.archetypes","versions":["2.9.1","2.9.0","2.9.0-beta1","2.8.0","2.8.0-beta1","2.8.0-RC1","2.7.0","2.7.0-beta2","2.7.0-beta1","2.7.0-RC1","2.6.0","2.6.0-RC1","2.5.1","2.5.0","2.5.0-beta3","2.5.0-beta2","2.5.0-beta1","2.5.0-RC1","2.4.3","2.4.2","2.4.1","2.4.0","2.3.1","2.3.0","2.2.0","2.1.1","2.1.0","2.4.0.beta2","2.4.0.beta1","2.4.0.RC3","2.4.0.RC2","2.4.0.RC1","2.3.0.RC1","2.2.0.RC0","2.1.0.RC"]},{"artifactId":"cometd-archetype-spring-dojo-jetty9","groupId":"org.cometd.archetypes","versions":["7.0.0","6.0.0","5.0.14","5.0.13","5.0.12","5.0.11","5.0.10","5.0.9","5.0.8","5.0.7","5.0.6","5.0.5","5.0.4","5.0.3","5.0.2","5.0.1","5.0.0","5.0.0-BETA1","5.0.0-BETA0","4.0.9","4.0.8","4.0.7","4.0.6","4.0.5","4.0.4","4.0.3","4.0.2","4.0.1","4.0.0","4.0.0-BETA1","4.0.0-BETA0","3.1.14","3.1.13","3.1.12","3.1.11","3.1.10","3.1.9","3.1.8","3.1.7","3.1.6","3.1.5","3.1.4","3.1.3","3.1.2","3.1.2-RC0","3.1.2-BETA1","3.1.2-BETA0","3.1.1","3.1.0","3.1.0-RC1","3.1.0-RC0","3.1.0-BETA2","3.1.0-BETA1","3.1.0-BETA0","3.0.10","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","3.0.0.beta2","3.0.0.beta1","3.0.0.RC1"]},{"artifactId":"cometd-archetype-spring-jquery-jetty10","groupId":"org.cometd.archetypes","versions":["6.0.9","6.0.8","6.0.7","6.0.6","6.0.5","6.0.4","6.0.3","6.0.2","6.0.1"]},{"artifactId":"cometd-archetype-spring-jquery-jetty7","groupId":"org.cometd.archetypes","versions":["2.9.1","2.9.0","2.9.0-beta1","2.8.0","2.8.0-beta1","2.8.0-RC1","2.7.0","2.7.0-beta2","2.7.0-beta1","2.7.0-RC1","2.6.0","2.6.0-RC1","2.5.1","2.5.0","2.5.0-beta3","2.5.0-beta2","2.5.0-beta1","2.5.0-RC1","2.4.3","2.4.2","2.4.1","2.4.0","2.3.1","2.3.0","2.2.0","2.1.1","2.1.0","2.4.0.beta2","2.4.0.beta1","2.4.0.RC3","2.4.0.RC2","2.4.0.RC1","2.3.0.RC1","2.2.0.RC0","2.1.0.RC"]},{"artifactId":"cometd-archetype-spring-jquery-jetty9","groupId":"org.cometd.archetypes","versions":["7.0.0","6.0.0","5.0.14","5.0.13","5.0.12","5.0.11","5.0.10","5.0.9","5.0.8","5.0.7","5.0.6","5.0.5","5.0.4","5.0.3","5.0.2","5.0.1","5.0.0","5.0.0-BETA1","5.0.0-BETA0","4.0.9","4.0.8","4.0.7","4.0.6","4.0.5","4.0.4","4.0.3","4.0.2","4.0.1","4.0.0","4.0.0-BETA1","4.0.0-BETA0","3.1.14","3.1.13","3.1.12","3.1.11","3.1.10","3.1.9","3.1.8","3.1.7","3.1.6","3.1.5","3.1.4","3.1.3","3.1.2","3.1.2-RC0","3.1.2-BETA1","3.1.2-BETA0","3.1.1","3.1.0","3.1.0-RC1","3.1.0-RC0","3.1.0-BETA2","3.1.0-BETA1","3.1.0-BETA0","3.0.10","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","3.0.0.beta2","3.0.0.beta1","3.0.0.RC1"]},{"artifactId":"conventions-archetype","groupId":"org.conventionsframework","versions":["1.3.2","1.3.1","1.3.0","1.2.1","1.2.0","1.1.3","1.1.2","1.1.1","1.1.0","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0","1.0.0-RC3","0.9.7"]},{"artifactId":"coos-plugin-actor","groupId":"org.coosproject.maven.archetypes","versions":["1.3.1","1.3.0","1.2.10","1.2.9","1.2.8","1.2.7","1.2.3","1.2.2","1.2.0","1.1.0","1.0.2","1.0.1","1.0.0"]},{"artifactId":"coos-plugin-api","groupId":"org.coosproject.maven.archetypes","versions":["1.3.1","1.3.0","1.2.10","1.2.9","1.2.8","1.2.7","1.2.3","1.2.2","1.2.0","1.1.0","1.0.2","1.0.1","1.0.0"]},{"artifactId":"coos-plugin-noapi","groupId":"org.coosproject.maven.archetypes","versions":["1.3.1","1.3.0","1.2.10","1.2.9","1.2.8","1.2.7","1.2.3","1.2.2","1.2.0","1.1.0","1.0.2","1.0.1","1.0.0"]},{"artifactId":"pepper-newModule","groupId":"org.corpus-tools","versions":["3.6.1","3.3.1","3.3.0"]},{"artifactId":"cristalise-module-archetype","groupId":"org.cristalise","versions":["4.2.0","4.1.0","4.0.0","4.0.0-RC2"],"description":"Template Maven project for CRISTAL modules"},{"artifactId":"crux-helloworld-war","groupId":"org.cruxframework","versions":["5.4.0","5.3.2","5.3.1","5.3.0","5.2.1","5.2.0","5.1.3","5.1.2","5.1.1","5.1.0"],"description":"HelloWorld Crux war application."},{"artifactId":"crux-module-app","groupId":"org.cruxframework","versions":["5.0.4"],"description":"Crux application following the module layout for project."},{"artifactId":"crux-module-app-archetype","groupId":"org.cruxframework","versions":["5.0.4"],"description":"This is the Crux Module App Archetype"},{"artifactId":"crux-module-app-container-archetype","groupId":"org.cruxframework","versions":["5.0.4"],"description":"This is the Crux Module Container App Archetype"},{"artifactId":"crux-module-container-app","groupId":"org.cruxframework","versions":["5.0.4"],"description":"Crux application following the module container layout for project."},{"artifactId":"crux-project-jar","groupId":"org.cruxframework","versions":["5.4.0","5.3.2","5.3.1","5.3.0","5.2.1","5.2.0","5.1.3","5.1.2","5.1.1","5.1.0"],"description":"Blank Crux jar application."},{"artifactId":"crux-project-war","groupId":"org.cruxframework","versions":["5.4.0","5.3.2","5.3.1","5.3.0","5.2.1","5.2.0","5.1.3","5.1.2","5.1.1","5.1.0"],"description":"Blank Crux war application."},{"artifactId":"ctoolkit-microservice-archetype","groupId":"org.ctoolkit.archetype","versions":["1.1","1.0"],"description":"TurnOnline.biz Ecosystem: Cloud Toolkit Microservice Archetype Build"},{"artifactId":"archetype-cubeengine-module","groupId":"org.cubeengine.maven.archetypes","versions":["2.1.0","2.0.0"],"description":"This archetype generates a new module for the Cube Engine."},{"artifactId":"bundle-archetype","groupId":"org.dbpedia.databus","versions":["1.1"],"description":"Archetype to use the Databus Maven Plugin to test data, prepare meta-data (DataIDs) and publish the resulting DataIDs to the Databus repository."},{"artifactId":"bundle-archetype","groupId":"org.dbpedia.databus.archetype","versions":["1.1","1.0.0"],"description":"Archetype to use the Databus Maven Plugin to test data, prepare meta-data (DataIDs) and publish the resulting DataIDs to the Databus repository."},{"artifactId":"dd4t-spring-mvc-archetype","groupId":"org.dd4t","versions":["1.6","1.5","1.4","1.3","1.2","1.1"],"description":"DD4T Spring MVC Archetype for Maven for Tridion 2013"},{"artifactId":"dd4t-web8-archetype","groupId":"org.dd4t","versions":["1.1","1.0"],"description":"DD4T Web 8 Spring MVC Archetype for Maven"},{"artifactId":"webmotion-archetype","groupId":"org.debux.webmotion","versions":["2.5.3","2.5.1","2.5","2.4","2.3.3","2.3.2"],"description":"WebMotion is Java web framework based on the Java EE6 standard"},{"artifactId":"devnull-web-archetype","groupId":"org.devnull","versions":["1.1","1.0","1.0-RC1"],"description":"DevNull starter webaapp with Spring MVC, JPA, Groovy and Twitter Bootstrap"},{"artifactId":"deploy-archetype","groupId":"org.devocative","versions":["1.0"],"description":"A Maven archetype to create initial project for deployment"},{"artifactId":"dmodule-archetype","groupId":"org.devocative","versions":["1.0"],"description":"A Maven archetype to create initial project for a DModule"},{"artifactId":"bukkit-template","groupId":"org.devoxx4kids.bukkit.plugins","versions":["1.5","1.4","1.3","1.2","1.1","1.0"],"description":"Bukkit Template Plugin"},{"artifactId":"spigot-template","groupId":"org.devoxx4kids.spigot.plugins","versions":["0.3","0.2"],"description":"Spigot Template Plugin"},{"artifactId":"jee8project-archetype","groupId":"org.dirtylabcoat","versions":["1.3","1.2","1.1","1.0"],"description":"Archetype for building a basic Jakarta EE 8 project."},{"artifactId":"dsh-archetype","groupId":"org.dishevelled","versions":["1.3","1.2","1.1","1.0"],"description":"dishevelled.org maven project archetype."},{"artifactId":"domino-gwt-app-archetype","groupId":"org.dominokit.domino.archetypes","versions":["1.0-rc.4","1.0-rc.3","1.0-rc.3-3","1.0-rc.3-2","1.0-rc.3-1"]},{"artifactId":"domino-gwt-module-archetype","groupId":"org.dominokit.domino.archetypes","versions":["1.0-rc.4","1.0-rc.3","1.0-rc.3-3","1.0-rc.3-2","1.0-rc.3-1"]},{"artifactId":"domino-gwt-single-module-archetype","groupId":"org.dominokit.domino.archetypes","versions":["1.0-rc.4","1.0-rc.3","1.0-rc.3-3","1.0-rc.3-2","1.0-rc.3-1"]},{"artifactId":"drombler-fx-maven-archetype-application","groupId":"org.drombler.fx","versions":["1.0","0.14.1","0.14","0.13","0.12","0.11","0.10","0.9","0.8","0.7","0.6","0.5","0.4","0.3","0.2","0.1"],"description":"A sample Drombler FX application template."},{"artifactId":"duel-mvc-archetype","groupId":"org.duelengine","versions":["0.9.5","0.9.4","0.9.3","0.9.2","0.9.1","0.9.0","0.8.3","0.8.2","0.8.1","0.8.0","0.7.1","0.7.0","0.6.2","0.6.1","0.3.3","0.3.1","0.3.0","0.2.2","0.2.1","0.2.0"],"description":"MVC project archetype using Jersey, Guice, DUEL views, DUEL merge"},{"artifactId":"war-bootstrap-archetype","groupId":"org.duelengine","versions":["0.5.0","0.4.0","0.3.3","0.3.2","0.3.1","0.2.2","0.2.1","0.2.0"],"description":"Simple WAR bootstrap for quick & dirty testing in multiple servlet containers (Tomcat, Jetty, Glassfish)."},{"artifactId":"dynamo-spring-archetype","groupId":"org.dynamoframework","versions":["1.6.3-CB3","1.6.2-CB3","1.6.1-CB3","1.6-CB3","1.6-CB1","1.5-CB3","1.4.3-CB3","1.4.2-CB3","1.4.1-CB3","1.4-CB3","1.3-CB3","1.2.2-CB2","1.2.1-CB3","1.0.1","1.0.0"]},{"artifactId":"dynamo-spring-archetype-modules","groupId":"org.dynamoframework","versions":["1.6.3-CB3","1.6.2-CB3","1.6.1-CB3","1.6-CB3","1.6-CB1","1.5-CB3","1.4.3-CB3","1.4.2-CB3","1.4.1-CB3","1.4-CB3","1.3-CB3","1.2.2-CB2","1.2.1-CB3","1.0.1","1.0.0"]},{"artifactId":"easybatch-archetype","groupId":"org.easybatch","versions":["5.3.0","5.2.0","5.1.0","5.0.0","5.0.0-RC2","5.0.0-RC1","4.2.1","4.2.0","4.1.0","4.0.0","3.1.0","3.0.3","3.0.2","3.0.1","3.0.0"],"description":"Easy Batch maven quick start archetype"},{"artifactId":"easyrules-archetype","groupId":"org.easyrules","versions":["2.5.0","2.4.0","2.3.0","2.2.0","2.1.0"],"description":"Maven archetype to create a skeleton project"},{"artifactId":"maven-hpi-plugin","groupId":"org.eclipse.hudson.tools","versions":["3.0.3","3.0.2","3.0.1","3.0.0","3.0.0-RC3","3.0.0-M2","3.0.0-M1"],"description":"Support for developing Hudson plugins with Apache Maven."},{"artifactId":"eclipse-jemo-maven-archetype","groupId":"org.eclipse.jemo","versions":["1.2","1.1"],"description":"The maven archetype that helps to create an Eclipse Jemo application with the proper pom file and an example class per Jemo development pattern."},{"artifactId":"krazo-jakartaee-archetype","groupId":"org.eclipse.krazo","versions":["3.0.1","3.0.0"],"description":"Archetype for basic Jakarta EE Application containing Jakarta MVC and Eclipse Krazo"},{"artifactId":"krazo-jakartaee8-archetype","groupId":"org.eclipse.krazo","versions":["1.1.1","1.1.0"],"description":"Archetype for basic Jakarta EE 8 App with the MVC API and Eclipse Krazo"},{"artifactId":"krazo-jakartaee9-archetype","groupId":"org.eclipse.krazo","versions":["2.0.2","2.0.1","2.0.0"],"description":"Archetype for basic Jakarta EE 9 App with the MVC API and Eclipse Krazo"},{"artifactId":"scout-hellojs-app","groupId":"org.eclipse.scout.archetypes","versions":["23.1.4","23.1.2","23.1.1","23.1.0-beta.4","22.0.41","22.0.39","22.0.37","22.0.34","22.0.33","22.0.29","22.0.26","22.0.24","22.0.23","22.0.22","22.0.19","22.0.15","22.0.12","22.0.11","22.0.10","22.0.2","22.0.1","22.0.0","22.0.0-beta.5","22.0.0-beta.1","22.0.0-beta.10","11.0.42","11.0.41","11.0.39","11.0.38","11.0.36","11.0.32","11.0.31","11.0.30","11.0.26","11.0.24","11.0.20","11.0.19","11.0.18","11.0.15","11.0.14","11.0.12","11.0.10","11.0.9","11.0.3","11.0.0-alpha.6","11.0.0-alpha.5","10.0.45","10.0.42","10.0.41","10.0.40","10.0.38","10.0.37","10.0.33","10.0.31","10.0.30","10.0.28","10.0.27","10.0.21","10.0.19","10.0.18","10.0.14","10.0.8","10.0.7","10.0.6","10.0.3","10.0.2","9.0.0.033_Simrel_2019_12","9.0.0.032_Simrel_2019_12_RC1","9.0.0.031_Simrel_2019_12_M3","9.0.0.030_Simrel_2019_12_M2","9.0.0.028_Simrel_2019_12_M1","9.0.0.025_Simrel_2019_09","9.0.0.024_Simrel_2019_09_RC1","9.0.0.022_Simrel_2019_09_M3","9.0.0.021_Simrel_2019_09_M2","9.0.0.020_Simrel_2019_09_M1","9.0.0.018_Simrel_2019_06","9.0.0.016_Simrel_2019_06_RC1","9.0.0.015_Simrel_2019_06_M3","9.0.0.013_Simrel_2019_06_M2","9.0.0.011_Simrel_2019_06_M1","9.0.0.009_Simrel_2019_03","9.0.0.007_Simrel_2019_03_RC1","9.0.0.006_Simrel_2019_03_M3","9.0.0.003_Simrel_2019_03_M2","9.0.0.001_Simrel_2019_03_M1","8.0.0.031_Simrel_2018_12","8.0.0.030_Simrel_2018_12_RC1","8.0.0.028_Simrel_2018_12_M3","8.0.0.025","8.0.0.022_Simrel_2018_12_M1","8.0.0.021_Simrel_2018_09","8.0.0.019_Simrel_2018_09_RC1","8.0.0.018_Simrel_2018_09_M3","8.0.0.016_Simrel_2018_09_M2"],"description":"Creates a Hello World sample application using Scout JS (UI written in JavaScript)"},{"artifactId":"scout-helloworld-app","groupId":"org.eclipse.scout.archetypes","versions":["23.1.4","23.1.2","23.1.1","23.1.0-beta.4","22.0.41","22.0.39","22.0.37","22.0.34","22.0.33","22.0.29","22.0.26","22.0.24","22.0.23","22.0.22","22.0.19","22.0.15","22.0.12","22.0.11","22.0.10","22.0.2","22.0.1","22.0.0","22.0.0-beta.5","22.0.0-beta.1","22.0.0-beta.10","11.0.42","11.0.41","11.0.39","11.0.38","11.0.36","11.0.32","11.0.31","11.0.30","11.0.26","11.0.24","11.0.20","11.0.19","11.0.18","11.0.15","11.0.14","11.0.12","11.0.10","11.0.9","11.0.3","11.0.0-alpha.6","11.0.0-alpha.5","10.0.45","10.0.42","10.0.41","10.0.40","10.0.38","10.0.37","10.0.33","10.0.31","10.0.30","10.0.28","10.0.27","10.0.21","10.0.19","10.0.18","10.0.14","10.0.8","10.0.7","10.0.6","10.0.3","10.0.2","9.0.0.033_Simrel_2019_12","9.0.0.032_Simrel_2019_12_RC1","9.0.0.031_Simrel_2019_12_M3","9.0.0.030_Simrel_2019_12_M2","9.0.0.028_Simrel_2019_12_M1","9.0.0.025_Simrel_2019_09","9.0.0.024_Simrel_2019_09_RC1","9.0.0.022_Simrel_2019_09_M3","9.0.0.021_Simrel_2019_09_M2","9.0.0.020_Simrel_2019_09_M1","9.0.0.018_Simrel_2019_06","9.0.0.016_Simrel_2019_06_RC1","9.0.0.015_Simrel_2019_06_M3","9.0.0.013_Simrel_2019_06_M2","9.0.0.011_Simrel_2019_06_M1","9.0.0.009_Simrel_2019_03","9.0.0.007_Simrel_2019_03_RC1","9.0.0.006_Simrel_2019_03_M3","9.0.0.003_Simrel_2019_03_M2","9.0.0.001_Simrel_2019_03_M1","8.0.0.031_Simrel_2018_12","8.0.0.030_Simrel_2018_12_RC1","8.0.0.028_Simrel_2018_12_M3","8.0.0.025","8.0.0.022_Simrel_2018_12_M1","8.0.0.021_Simrel_2018_09","8.0.0.019_Simrel_2018_09_RC1","8.0.0.018_Simrel_2018_09_M3","8.0.0.016_Simrel_2018_09_M2","8.0.0.014","8.0.0.010_Photon","8.0.0.009_Photon","8.0.0.008_Photon_RC3","8.0.0.005_Photon_RC2","8.0.0.004_Photon_RC1","8.0.0.003_Photon_M7","7.1.0.007_Photon_M6","7.1.0.005_Photon_M5","7.1.0.004_Photon_M4","7.1.0.003_Photon_M3","7.1.0.001_Photon_M2","7.0.300.005_Oxygen_3","7.0.300.004_Oxygen_3_RC3","7.0.300.003_Oxygen_3_RC2","7.0.300.002_Oxygen_3_RC1","7.0.200.005_Oxygen_2","7.0.200.004_Oxygen_2_RC3","7.0.200.003_Oxygen_2_RC2","7.0.200.002_Oxygen_2_RC1","7.0.150.004_Oxygen_1a","7.0.150.002","7.0.150.001_Oxygen_1a_RC1","7.0.100.017_Oxygen_1","7.0.100.016_RC3","7.0.100.014_RC2","7.0.100.013_RC1","7.0.100.011_M1","7.0.0.008_Oxygen","7.0.0.007_RC3","7.0.0.006_RC2","7.0.0.005_RC1","6.1.0.M6","6.1.0.M5","6.1.0.M4","6.1.0.M3","6.1.0.M2","6.1.0.B021","6.1.0.B009","6.1.0.B006","6.1.0.B002","6.0.300.RC2","6.0.300.RC1","6.0.300.RC0","6.0.300.B002","6.0.300.1","6.0.300.0","6.0.200.RC3","6.0.200.RC2","6.0.200.RC1","6.0.200.0","6.0.100.RC4","6.0.100.RC3","6.0.100.RC2","6.0.100.B100","6.0.0.SR1_RC1","6.0.0.RC4","6.0.0.RC3","6.0.0.RC2","6.0.0.RC1","6.0.0.M7","6.0.0.M6","6.0.0.M6_1","5.2.0.M5","5.2.0.M4","5.2.0.M3"],"description":"Creates a Hello World sample application using Scout Classic (UI written in Java)"},{"artifactId":"scout-jaxws-module","groupId":"org.eclipse.scout.archetypes","versions":["23.1.4","23.1.2","23.1.1","23.1.0-beta.4","22.0.41","22.0.39","22.0.37","22.0.34","22.0.33","22.0.29","22.0.26","22.0.24","22.0.23","22.0.22","22.0.19","22.0.15","22.0.12","22.0.11","22.0.10","22.0.2","22.0.1","22.0.0","22.0.0-beta.5","22.0.0-beta.1","22.0.0-beta.10","11.0.42","11.0.41","11.0.39","11.0.38","11.0.36","11.0.32","11.0.31","11.0.30","11.0.26","11.0.24","11.0.20","11.0.19","11.0.18","11.0.15","11.0.14","11.0.12","11.0.10","11.0.9","11.0.3","11.0.0-alpha.6","11.0.0-alpha.5","10.0.45","10.0.42","10.0.41","10.0.40","10.0.38","10.0.37","10.0.33","10.0.31","10.0.30","10.0.28","10.0.27","10.0.21","10.0.19","10.0.18","10.0.14","10.0.8","10.0.7","10.0.6","10.0.3","10.0.2","9.0.0.033_Simrel_2019_12","9.0.0.032_Simrel_2019_12_RC1","9.0.0.031_Simrel_2019_12_M3","9.0.0.030_Simrel_2019_12_M2","9.0.0.028_Simrel_2019_12_M1","9.0.0.025_Simrel_2019_09","9.0.0.024_Simrel_2019_09_RC1","9.0.0.022_Simrel_2019_09_M3","9.0.0.021_Simrel_2019_09_M2","9.0.0.020_Simrel_2019_09_M1","9.0.0.018_Simrel_2019_06","9.0.0.016_Simrel_2019_06_RC1","9.0.0.015_Simrel_2019_06_M3","9.0.0.013_Simrel_2019_06_M2","9.0.0.011_Simrel_2019_06_M1","9.0.0.009_Simrel_2019_03","9.0.0.007_Simrel_2019_03_RC1","9.0.0.006_Simrel_2019_03_M3","9.0.0.003_Simrel_2019_03_M2","9.0.0.001_Simrel_2019_03_M1","8.0.0.031_Simrel_2018_12","8.0.0.030_Simrel_2018_12_RC1","8.0.0.028_Simrel_2018_12_M3","8.0.0.025","8.0.0.022_Simrel_2018_12_M1","8.0.0.021_Simrel_2018_09","8.0.0.019_Simrel_2018_09_RC1","8.0.0.018_Simrel_2018_09_M3","8.0.0.016_Simrel_2018_09_M2","8.0.0.014","8.0.0.010_Photon","8.0.0.009_Photon","8.0.0.008_Photon_RC3","8.0.0.005_Photon_RC2","8.0.0.004_Photon_RC1","8.0.0.003_Photon_M7","7.1.0.007_Photon_M6","7.1.0.005_Photon_M5","7.1.0.004_Photon_M4","7.1.0.003_Photon_M3","7.1.0.001_Photon_M2","7.0.300.005_Oxygen_3","7.0.300.004_Oxygen_3_RC3","7.0.300.003_Oxygen_3_RC2","7.0.300.002_Oxygen_3_RC1","7.0.200.005_Oxygen_2","7.0.200.004_Oxygen_2_RC3","7.0.200.003_Oxygen_2_RC2","7.0.200.002_Oxygen_2_RC1","7.0.150.004_Oxygen_1a","7.0.150.002","7.0.150.001_Oxygen_1a_RC1","7.0.100.017_Oxygen_1","7.0.100.016_RC3","7.0.100.014_RC2","7.0.100.013_RC1","7.0.100.011_M1","7.0.0.008_Oxygen","7.0.0.007_RC3","7.0.0.006_RC2","7.0.0.005_RC1","6.1.0.M6","6.1.0.M5","6.1.0.M4","6.1.0.M3","6.1.0.M2","6.1.0.B021","6.1.0.B009","6.1.0.B006","6.1.0.B002","6.0.300.RC2","6.0.300.RC1","6.0.300.RC0","6.0.300.B002","6.0.300.1","6.0.300.0","6.0.200.RC3","6.0.200.RC2","6.0.200.RC1","6.0.200.0","6.0.100.RC4","6.0.100.RC3","6.0.100.RC2","6.0.100.B100","6.0.0.SR1_RC1"],"description":"Maven Archetype which creates an empty Scout JaxWs Module"},{"artifactId":"jakarta-starter","groupId":"org.eclipse.starter","versions":["1.0.0"],"description":"This is the official Eclipse Foundation starter for Jakarta EE.\n\t\tIt generates code to help get started with Jakarta EE projects\n\t\tusing Maven. It is possible to do so using Maven\n\t\tarchetypes. Support for a UI may be added at a later point."},{"artifactId":"jakartaee10-minimal","groupId":"org.eclipse.starter","versions":["1.1.0","1.0.1","1.0.0"],"description":"Jakarta EE 10 Minimal Maven Archetype"},{"artifactId":"jakartaee8-minimal","groupId":"org.eclipse.starter","versions":["1.0.0"],"description":"Jakarta EE 10 Minimal Maven Archetype"},{"artifactId":"jakartaee9.1-minimal","groupId":"org.eclipse.starter","versions":["1.0.0"],"description":"Jakarta EE 10 Minimal Maven Archetype"},{"artifactId":"xtend-android-archetype","groupId":"org.eclipse.xtend","versions":["2.16.0","2.15.0","2.14.0","2.13.0","2.12.0","2.11.0","2.10.0","2.9.2","2.9.1","2.9.0","2.8.4","2.8.3","2.8.2","2.8.1","2.8.0","2.7.3","2.7.2","2.7.1","2.7.0","2.6.2","2.6.1","2.6.0","2.5.4","2.5.3","2.5.2","2.5.1","2.5.0","2.4.3","2.4.2","2.4.1","2.9.0.rc2","2.9.0.rc1","2.9.0.beta6","2.9.0.beta5","2.9.0.beta4","2.9.0.beta3","2.9.0.beta2","2.9.0.beta1","2.17.0.M2","2.17.0.M1","2.16.0.M3","2.16.0.M1","2.14.0.RC1","2.13.0.RC1","2.13.0.M2","2.12.0.M1","2.11.0.beta2","2.11.0.RC2","2.11.0.RC1"]},{"artifactId":"xtend-archetype","groupId":"org.eclipse.xtend","versions":["2.30.0","2.29.0","2.28.0","2.27.0","2.26.0","2.25.0","2.24.0","2.23.0","2.22.0","2.21.0","2.20.0","2.19.0","2.18.0","2.17.1","2.17.0","2.16.0","2.15.0","2.14.0","2.13.0","2.12.0","2.11.0","2.10.0","2.9.2","2.9.1","2.9.0","2.8.4","2.8.3","2.8.2","2.8.1","2.8.0","2.7.3","2.7.2","2.7.1","2.7.0","2.6.2","2.6.1","2.6.0","2.5.4","2.5.3","2.5.2","2.5.1","2.5.0","2.4.3","2.4.2","2.4.1","2.9.0.rc2","2.9.0.rc1","2.9.0.beta6","2.9.0.beta5","2.9.0.beta4","2.9.0.beta3","2.9.0.beta2","2.9.0.beta1","2.30.0.RC2","2.30.0.RC1","2.30.0.M3","2.30.0.M2","2.30.0.M1","2.29.0.M3","2.29.0.M2","2.29.0.M1","2.28.1.RC1","2.28.1.M2","2.28.0.M3","2.28.0.M2","2.28.0.M1","2.27.0.M3","2.27.0.M2","2.27.0.M1","2.26.0.RC1","2.26.0.M3","2.26.0.M2","2.26.0.M1","2.25.0.M3","2.25.0.M2","2.25.0.M1","2.24.0.M3","2.24.0.M2","2.24.0.M1","2.23.0.M3","2.23.0.M2","2.23.0.M1","2.22.0.M3","2.22.0.M2","2.22.0.M1","2.21.0.M3","2.21.0.M2","2.21.0.M1","2.20.0.M3","2.20.0.M2","2.20.0.M1","2.19.0.M3","2.19.0.M2","2.19.0.M1","2.18.0.M3","2.18.0.M2","2.18.0.M1","2.17.0.M3","2.17.0.M2","2.17.0.M1","2.16.0.M3","2.16.0.M1","2.14.0.RC1","2.13.0.RC1","2.13.0.M2","2.12.0.M1","2.11.0.beta2","2.11.0.RC2","2.11.0.RC1"]},{"artifactId":"emf-gwt-jersey","groupId":"org.eclipselabs","versions":["0.2.1","0.2.0"]},{"artifactId":"emf-gwt-rpc","groupId":"org.eclipselabs","versions":["0.2.1","0.2.0"]},{"artifactId":"gig-archetype-appengine","groupId":"org.eiichiro.gig","versions":["0.4.3","0.1.4","0.1.3","0.1.0"],"description":"An archetype which contains a simple Gig Webapp project for Google App Engine."},{"artifactId":"gig-archetype-heroku","groupId":"org.eiichiro.gig","versions":["0.4.3","0.1.4","0.1.3","0.1.0"],"description":"An archetype which contains a simple Gig Webapp project for Heroku."},{"artifactId":"gig-archetype-webapp","groupId":"org.eiichiro.gig","versions":["0.4.3","0.1.4","0.1.3","0.1.0"],"description":"An archetype which contains a simple Gig Webapp project."},{"artifactId":"emma-quickstart","groupId":"org.emmalanguage","versions":["0.2.3","0.2.2","0.2.1","0.2.0","0.2-rc4","0.2-rc3","0.2-rc2","0.2-rc1"]},{"artifactId":"entando-archetype-bundle-content","groupId":"org.entando.entando","versions":["5.3.2","5.3.1","5.2.0","5.1.0","5.0.3","5.0.2","5.0.1","5.0.0","4.3.3","4.3.2","4.3.1","4.2.0","4.2.0-TP1","4.0.0","3.2.0"],"description":"Content Type Bundle Archetype for Entando."},{"artifactId":"entando-archetype-bundle-misc","groupId":"org.entando.entando","versions":["4.0.0","3.2.0"],"description":"Generic Misc Bundle Archetype for Entando."},{"artifactId":"entando-archetype-bundle-page-generic","groupId":"org.entando.entando","versions":["4.0.0","3.2.0"],"description":"Generic Page Bundle Archetype for Entando."},{"artifactId":"entando-archetype-bundle-showlet-generic","groupId":"org.entando.entando","versions":["3.2.0","3.2.0-01"],"description":"Generic Showlet Bundle Archetype for Entando."},{"artifactId":"entando-archetype-bundle-theme-generic","groupId":"org.entando.entando","versions":["5.3.2","5.3.1","5.2.0","5.1.0","5.0.3","5.0.2","5.0.1","5.0.0","4.3.3","4.3.2","4.3.1","4.2.0","4.2.0-TP1"],"description":"Theme (Page Model) Bundle Archetype for Entando."},{"artifactId":"entando-archetype-bundle-widget-generic","groupId":"org.entando.entando","versions":["5.3.2","5.3.1","5.2.0","5.1.0","5.0.3","5.0.2","5.0.1","4.3.3","4.3.2","4.3.1","4.2.0","4.2.0-TP1","4.0.0"],"description":"Widget Bundle Archetype for Entando."},{"artifactId":"entando-archetype-entando-sample","groupId":"org.entando.entando","versions":["5.3.2","5.3.1","5.2.0","5.1.0","5.0.3","5.0.2","5.0.1","5.0.0","4.3.3","4.3.2"],"description":"Entando sample web app Archetype: an agile, modern and user-centric open source web app like platform."},{"artifactId":"entando-archetype-plugin-generic","groupId":"org.entando.entando","versions":["5.3.2","5.3.1","5.2.0","5.1.0","5.0.3","5.0.2","5.0.1","5.0.0","4.3.3","4.3.2","4.3.1","4.2.0","4.2.0-TP1","4.0.0","3.2.0","3.0.0","3.0.0-01","2.4.0","2.4.0.1"],"description":"Plugin Archetype for Entando: an agile, modern and user-centric open source web app like platform."},{"artifactId":"entando-archetype-portal-bootstrap","groupId":"org.entando.entando","versions":["4.3.1","4.2.0","4.2.0-TP1","4.0.0","4.0.0-01","3.2.0","3.2.0-01"],"description":"Twitter Bootstrap Portal Archetype for Entando: an agile, modern and user-centric open source portal-like platform."},{"artifactId":"entando-archetype-portal-generic","groupId":"org.entando.entando","versions":["4.3.1","4.2.0","4.2.0-TP1","4.0.0","4.0.0-01","3.2.0","3.2.0-01","3.0.0","3.0.0-02","3.0.0-01","2.4.0","2.4.0.1"],"description":"Generic Portal Archetype for Entando: an agile, modern and user-centric open source portal-like platform."},{"artifactId":"entando-archetype-web-app-BPM","groupId":"org.entando.entando","versions":["5.3.1","5.2.0","5.1.0","5.0.3","5.0.2","5.0.1","5.0.0","4.3.3","4.3.2"],"description":"RedHat BPM web application Archetype for Entando: an agile, modern and user-centric open source web app like."},{"artifactId":"entando-archetype-webapp-bpm-docker","groupId":"org.entando.entando","versions":["5.0.3","5.0.2","5.0.1"],"description":"Generic web app Archetype for Entando: an agile, modern and user-centric open source web app like platform."},{"artifactId":"entando-archetype-webapp-generic","groupId":"org.entando.entando","versions":["5.3.2","5.3.1","5.2.0","5.1.0","5.0.3","5.0.2","5.0.1","5.0.0","4.3.3","4.3.2"],"description":"Generic web app Archetype for Entando: an agile, modern and user-centric open source web app like platform."},{"artifactId":"eo-archetype","groupId":"org.eolang","versions":["0.1.10","0.1.9","0.1.8","0.1.7","0.1.6","0.1.5","0.1.4","0.1.3","0.1.2","0.1.1","0.1"]},{"artifactId":"eurekaclinical-client-archetype","groupId":"org.eurekaclinical","versions":["1.0","1.0-Alpha-6","1.0-Alpha-5","1.0-Alpha-4","1.0-Alpha-3","1.0-Alpha-2","1.0-Alpha-1"],"description":"Archetype to create eurekaclinical client projects"},{"artifactId":"eurekaclinical-service-archetype","groupId":"org.eurekaclinical","versions":["1.0","1.0-Alpha-9","1.0-Alpha-8","1.0-Alpha-7","1.0-Alpha-6","1.0-Alpha-5","1.0-Alpha-4","1.0-Alpha-3","1.0-Alpha-2","1.0-Alpha-15","1.0-Alpha-14","1.0-Alpha-13","1.0-Alpha-12","1.0-Alpha-11","1.0-Alpha-10"],"description":"Archetype for eurekaclinical service projects"},{"artifactId":"eurekaclinical-webapp-archetype","groupId":"org.eurekaclinical","versions":["1.0","1.0-Alpha-9","1.0-Alpha-8","1.0-Alpha-7","1.0-Alpha-6","1.0-Alpha-5","1.0-Alpha-4","1.0-Alpha-3","1.0-Alpha-2","1.0-Alpha-12","1.0-Alpha-11","1.0-Alpha-10"],"description":"Archetype to create eurekaclinical webapp projects"},{"artifactId":"exist-apps-archetype","groupId":"org.exist-db","versions":["3.0.1","3.0.0","2.1.0","2.0.0","1.10.1","1.10.0","1.9","1.8","1.7","1.6","1.5","1.4","1.3","1.2","1.1","1.0"],"description":"Maven Archetype for eXist Apps"},{"artifactId":"faktorips-maven-archetype","groupId":"org.faktorips","versions":["22.12.0","22.6.6","22.6.5","22.6.4","22.6.3","22.6.2","22.6.1","22.6.0","22.6.0-rc03","22.6.0-rc02","22.6.0-rc01","22.6.0-m02","22.6.0-m01","21.12.7","21.12.6","21.12.5","21.12.4","21.12.3","21.12.2","21.12.1","21.12.0","21.12.0-rc08","21.12.0-rc07","21.12.0-rc06","21.12.0-rc05","21.12.0-rc04","21.12.0-rc03","21.12.0-rc02","21.12.0-rc01","21.12.0-m01","21.6.7","21.6.6","21.6.5","21.6.4","21.6.3","21.6.2","21.6.1","21.6.0","21.6.0-rc08","21.6.0-rc07","21.6.0-rc06","21.6.0-rc05","21.6.0-rc03","21.6.0-rc02","21.6.0-rc01","21.6.0-m04","21.6.0-m03","23.6.0.a20230301-01","23.1.0.release","23.1.0.a20230124-01","23.1.0.a20230123-02","23.1.0.a20230109-01","22.12.9.release","22.12.8.release","22.12.7.release","22.12.6.release","22.12.5.release","22.12.4.release","22.12.3.release","22.12.2.release","22.12.1.release","22.12.0.rc01","22.12.0.a20221117-02","22.12.0.a20221114-01","22.12.0.a20221005-01"],"description":"Defines versions for and configures Maven plugins used to build the Faktor-IPS runtime libraries"},{"artifactId":"femto-app","groupId":"org.femtoframework.app","versions":["1.0.1"],"description":"Femto Application Template"},{"artifactId":"legend-engine-xt-relationalStore-dbExtension-archetype","groupId":"org.finos.legend.engine","versions":["4.2.0","4.1.0","4.0.0","3.35.1","3.35.0","3.34.4","3.34.3","3.34.1","3.34.0","3.33.0","3.32.0","3.31.0","3.30.1","3.29.1","3.29.0","3.28.0","3.27.0","3.26.0"]},{"artifactId":"microservice-archetype","groupId":"org.fintrace","versions":["0.0.13","0.0.12","0.0.11","0.0.10","0.0.9","0.0.8","0.0.7","0.0.6","0.0.5","0.0.4","0.0.3","0.0.2","0.0.1"],"description":"Spring Boot 2 and Keycloak based Maven Archetype"},{"artifactId":"flowable-archetype-unittest","groupId":"org.flowable","versions":["6.8.0","6.7.2","6.7.1","6.7.0","6.6.0","6.5.0","6.4.2","6.4.1","6.4.0","6.3.1","6.3.0","6.2.1","6.2.0","6.1.2","6.1.1","6.1.0","6.0.1","6.0.0","5.23.0","5.22.0","7.0.0.M1","6.0.0.RC1"],"description":"Creates a new Flowable unit test."},{"artifactId":"jee6-basic-archetype","groupId":"org.fluttercode.knappsack","versions":["1.1","1.0.10","1.0.9","1.0.8","1.0.5","1.0.4"],"description":"Java EE 6 Knappsack archetype with configuration for CDI, JSF, JPA and a sample empty page."},{"artifactId":"jee6-minimal-archetype","groupId":"org.fluttercode.knappsack","versions":["1.1","1.0.10","1.0.9","1.0.8","1.0.5","1.0.4"],"description":"Java EE 6 Knappsack archetype with a single page demo of CDI, JSF, JPA and Validation to verify everything works."},{"artifactId":"jee6-sandbox-archetype","groupId":"org.fluttercode.knappsack","versions":["1.1","1.0.10","1.0.9","1.0.8","1.0.5","1.0.4"],"description":"Java EE 6 Knappsack archetype sandbox project for Java EE 6 with CDI, JSF, JPA and a sample model and test data to play around with, try new things, and use as a foundation for tutorials"},{"artifactId":"jee6-sandbox-demo-archetype","groupId":"org.fluttercode.knappsack","versions":["1.1","1.0.10","1.0.9","1.0.8","1.0.5","1.0.4"],"description":"Java EE 6 Knappsack archetype containing a complete demo example using CDI, JSF, JPA and validation showcasing a number of features available in Java EE 6 as well as demonstrating how to make them all work together"},{"artifactId":"jee6-servlet-basic-archetype","groupId":"org.fluttercode.knappsack","versions":["1.1","1.0.10","1.0.9","1.0.8","1.0.5","1.0.4"],"description":"Java EE 6 Knappsack archetype for servlet containers (Jetty,Tomcat) with just a single page and a persistence provider ."},{"artifactId":"jee6-servlet-demo-archetype","groupId":"org.fluttercode.knappsack","versions":["1.1","1.0.10","1.0.9","1.0.8","1.0.5"],"description":"Java EE 6 Knappsack archetype containing servlet based bookmarking application demonstrating JSF, CDI, JPA and Bean Validation on Tomcat/Jetty servlet containers"},{"artifactId":"jee6-servlet-minimal-archetype","groupId":"org.fluttercode.knappsack","versions":["1.1","1.0.10","1.0.9","1.0.8","1.0.5","1.0.4"],"description":"Java EE 6 Knappsack archetype containing a minimal Java EE application for servlet containers (Jetty,Tomcat) with a single page demo of CDI, JSF, JPA and Validation to verify everything works."},{"artifactId":"jee6-servlet-sandbox-archetype","groupId":"org.fluttercode.knappsack","versions":["1.1","1.0.10","1.0.9","1.0.8","1.0.5"],"description":"Java EE 6 Knappsack archetype for servlet containers (Jetty,Tomcat) with sandbox data built in."},{"artifactId":"spring-jsf-jpa-archetype","groupId":"org.fluttercode.knappsack","versions":["1.1"],"description":"Spring Knappsack archetype application with setup for JPA and JSF"},{"artifactId":"spring-mvc-jpa-archetype","groupId":"org.fluttercode.knappsack","versions":["1.1"],"description":"Spring MVC Knappsack archetype application with setup for JPA"},{"artifactId":"spring-mvc-jpa-demo-archetype","groupId":"org.fluttercode.knappsack","versions":["1.1"],"description":"Spring MVC Knappsack demo archetype application with JPA"},{"artifactId":"docker-maven-java-app-archetype","groupId":"org.fuin.archetypes","versions":["0.2.0","0.1.0"]},{"artifactId":"emt-xtext-archetype","groupId":"org.fuin.archetypes","versions":["0.2.1","0.2.0","0.1.0"],"description":"Maven archetype that creates an Xtext project with a multi module Maven layout and Tycho (manifest-first approach)."},{"artifactId":"javafx-cdi-archetype","groupId":"org.fuin.archetypes","versions":["0.1.0"],"description":"JavaFX with CDI Archetype"},{"artifactId":"fujion-archetype-angular","groupId":"org.fujion","versions":["3.0.0","2.2.1","2.2.0","2.1.1","2.1.0","2.0.0","2.0.0-RC9","2.0.0-RC8","2.0.0-RC7","2.0.0-RC6","2.0.0-RC5","2.0.0-RC4","2.0.0-RC3","2.0.0-RC2","2.0.0-RC1","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.1.0-RC5","1.1.0-RC4","1.1.0-RC3","1.1.0-RC2","1.1.0-RC1","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13"]},{"artifactId":"fujion-archetype-component","groupId":"org.fujion","versions":["3.0.0","2.2.1","2.2.0","2.1.1","2.1.0","2.0.0","2.0.0-RC9","2.0.0-RC8","2.0.0-RC7","2.0.0-RC6","2.0.0-RC5","2.0.0-RC4","2.0.0-RC3","2.0.0-RC2","2.0.0-RC1","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.1.0-RC5","1.1.0-RC4","1.1.0-RC3","1.1.0-RC2","1.1.0-RC1","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10"]},{"artifactId":"fujion-archetype-fsp","groupId":"org.fujion","versions":["3.0.0","2.2.1","2.2.0","2.1.1","2.1.0","2.0.0","2.0.0-RC9","2.0.0-RC8","2.0.0-RC7","2.0.0-RC6","2.0.0-RC5","2.0.0-RC4","2.0.0-RC3","2.0.0-RC2","2.0.0-RC1","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.1.0-RC5","1.1.0-RC4","1.1.0-RC3","1.1.0-RC2","1.1.0-RC1","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11"]},{"artifactId":"fujion-archetype-react","groupId":"org.fujion","versions":["3.0.0","2.2.1","2.2.0","2.1.1","2.1.0","2.0.0","2.0.0-RC9","2.0.0-RC8","2.0.0-RC7","2.0.0-RC6","2.0.0-RC5","2.0.0-RC4","2.0.0-RC3","2.0.0-RC2","2.0.0-RC1","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.1.0-RC5","1.1.0-RC4","1.1.0-RC3","1.1.0-RC2","1.1.0-RC1","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13"]},{"artifactId":"fujion-archetype-webapp","groupId":"org.fujion","versions":["3.0.0","2.2.1","2.2.0","2.1.1","2.1.0","2.0.0","2.0.0-RC9","2.0.0-RC8","2.0.0-RC7","2.0.0-RC6","2.0.0-RC5","2.0.0-RC4","2.0.0-RC3","2.0.0-RC2","2.0.0-RC1","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.1.0-RC5","1.1.0-RC4","1.1.0-RC3","1.1.0-RC2","1.1.0-RC1","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10"]},{"artifactId":"camel-cxf-code-first-archetype","groupId":"org.fusesource.fabric","versions":["7.2.0.redhat-083","7.2.0.redhat-065","7.2.0.redhat-060","7.2.0.redhat-024","7.1.0.fuse-047"],"description":"Creates a new Camel project using CXF in code (Java) first."},{"artifactId":"camel-cxf-contract-first-archetype","groupId":"org.fusesource.fabric","versions":["7.2.0.redhat-083","7.2.0.redhat-065","7.2.0.redhat-060","7.2.0.redhat-024","7.1.0.fuse-047"],"description":"Creates a new Camel project using CXF in contract (WSDL) first."},{"artifactId":"camel-drools-archetype","groupId":"org.fusesource.fabric","versions":["7.2.0.redhat-083","7.2.0.redhat-065","7.2.0.redhat-060","7.2.0.redhat-024","7.1.0.fuse-047"],"description":"Creates a new Camel project using the Drools rule engine."},{"artifactId":"scalate-archetype-empty","groupId":"org.fusesource.scalate.tooling","versions":["1.2","1.1","1.0"],"description":"An archetype which creates an empty Scalate web application"},{"artifactId":"scalate-archetype-guice","groupId":"org.fusesource.scalate.tooling","versions":["1.5.3","1.5.3-scala_2.8.2","1.5.2","1.5.2-scala_2.8.1","1.5.1","1.5.0","1.4.1","1.4.0","1.3.2","1.3.1","1.3","1.2","1.1","1.0"],"description":"An archetype which creates an empty Scalate Guice web application"},{"artifactId":"scalate-archetype-guice_2.10","groupId":"org.fusesource.scalate.tooling","versions":["1.6.1","1.6.0"],"description":"An archetype which creates an empty Scalate Guice web application"},{"artifactId":"scalate-archetype-guice_2.9","groupId":"org.fusesource.scalate.tooling","versions":["1.6.1","1.6.0"],"description":"An archetype which creates an empty Scalate Guice web application"},{"artifactId":"scalate-archetype-jersey","groupId":"org.fusesource.scalate.tooling","versions":["1.5.3","1.5.3-scala_2.8.2","1.5.2","1.5.2-scala_2.8.1","1.5.1","1.5.0","1.4.1","1.4.0","1.3.2","1.3.1","1.3"],"description":"An archetype which creates an empty Scalate web application"},{"artifactId":"scalate-archetype-jersey_2.10","groupId":"org.fusesource.scalate.tooling","versions":["1.6.1","1.6.0"],"description":"An archetype which creates an empty Scalate web application"},{"artifactId":"scalate-archetype-jersey_2.9","groupId":"org.fusesource.scalate.tooling","versions":["1.6.1","1.6.0"],"description":"An archetype which creates an empty Scalate web application"},{"artifactId":"scalate-archetype-sitegen","groupId":"org.fusesource.scalate.tooling","versions":["1.5.3","1.5.3-scala_2.8.2","1.5.2","1.5.2-scala_2.8.1","1.5.1","1.5.0","1.4.1","1.4.0"],"description":"An archetype which creates an empty Scalate static website generation project"},{"artifactId":"scalate-archetype-sitegen_2.10","groupId":"org.fusesource.scalate.tooling","versions":["1.6.1","1.6.0"],"description":"An archetype which creates an empty Scalate static website generation project"},{"artifactId":"scalate-archetype-sitegen_2.9","groupId":"org.fusesource.scalate.tooling","versions":["1.6.1","1.6.0"],"description":"An archetype which creates an empty Scalate static website generation project"},{"artifactId":"geomajas-gwt-archetype","groupId":"org.geomajas","versions":["1.14.0","1.13.0","1.12.0","1.10.0","1.9.1","1.9.0","1.8.0","1.7.2","1.7.1","1.7.1-R1","1.7.1r1"],"description":"Geomajas GWT application archetype"},{"artifactId":"geomajas-plugin-archetype","groupId":"org.geomajas","versions":["1.0.0"],"description":"Geomajas plugin archetype"},{"artifactId":"geoserver-archetype-wfsoutputformat","groupId":"org.geoserver.maven","versions":["1.7.0"]},{"artifactId":"jersey-example-java8-webapp","groupId":"org.glassfish.jersey.archetypes","versions":["3.1.1","3.1.0","3.1.0-M8","3.1.0-M7","3.1.0-M3","3.1.0-M2","3.1.0-M1","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","3.0.0-RC2","3.0.0-M6","3.0.0-M1","2.39","2.38","2.37","2.36","2.35","2.34","2.33","2.32","2.31","2.30.1","2.30","2.29.1","2.29","2.28","2.28-RC4","2.27","2.26","2.26-b09","2.26-b08","2.26-b07","2.26-b06","2.26-b05","2.26-b04","2.26-b03","2.26-b02","2.26-b01","2.25.1","2.25","2.24.1","2.24","2.23.2","2.23.1","2.23","2.22.4","2.22.3","2.22.2","2.22.1","2.22","2.21.1","2.21","2.20"],"description":"Jersey (Java8) WebApp Example Archetype."},{"artifactId":"jersey-heroku-webapp","groupId":"org.glassfish.jersey.archetypes","versions":["3.1.1","3.1.0","3.1.0-M8","3.1.0-M7","3.1.0-M3","3.1.0-M2","3.1.0-M1","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","3.0.0-RC2","3.0.0-M6","3.0.0-M1","2.39","2.38","2.37","2.36","2.35","2.34","2.33","2.32","2.31","2.30.1","2.30","2.29.1","2.29","2.28","2.28-RC4","2.27","2.26","2.26-b09","2.26-b08","2.26-b07","2.26-b06","2.26-b05","2.26-b04","2.26-b03","2.26-b02","2.26-b01","2.25.1","2.25","2.24.1","2.24","2.23.2","2.23.1","2.23","2.22.4","2.22.3","2.22.2","2.22.1","2.22","2.21.1","2.21","2.20","2.19","2.18","2.17","2.16","2.15","2.14","2.13","2.12","2.11","2.10.4","2.10.3","2.10.2","2.10.1","2.10","2.9.1","2.9","2.8","2.7","2.6","2.5.2","2.5.1","2.5"],"description":"An archetype which contains a quick start Jersey-based web application project capable to run on Heroku."},{"artifactId":"jersey-quickstart-grizzly2","groupId":"org.glassfish.jersey.archetypes","versions":["3.1.1","3.1.0","3.1.0-M8","3.1.0-M7","3.1.0-M3","3.1.0-M2","3.1.0-M1","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","3.0.0-RC2","3.0.0-M6","3.0.0-M1","2.39","2.38","2.37","2.36","2.35","2.34","2.33","2.32","2.31","2.30.1","2.30","2.29.1","2.29","2.28","2.28-RC4","2.27","2.26","2.26-b09","2.26-b08","2.26-b07","2.26-b06","2.26-b05","2.26-b04","2.26-b03","2.26-b02","2.26-b01","2.25.1","2.25","2.24.1","2.24","2.23.2","2.23.1","2.23","2.22.4","2.22.3","2.22.2","2.22.1","2.22","2.21.1","2.21","2.20","2.19","2.18","2.17","2.16","2.15","2.14","2.13","2.12","2.11","2.10.4","2.10.3","2.10.2","2.10.1","2.10","2.9.1","2.9","2.8","2.7","2.6","2.5.2","2.5.1","2.5","2.4.1","2.4","2.3.1","2.3","2.2","2.1","2.0.1","2.0","2.0-rc1","2.0-m13","2.0-m13-3","2.0-m13-2","2.0-m13-1","2.0-m12","2.0-m12-1","2.0-m11","2.0-m10","2.0-m09","2.0-m09-1","2.0-m08","2.0-m08-1","2.0-m07","2.0-m07-1","2.0-m06","2.0-m05","2.0-m05-2","2.0-m05-1","2.0-m04","2.0-m04-2","2.0-m04-1","2.0-m03"],"description":"An archetype which contains a quick start Jersey project based on Grizzly container."},{"artifactId":"jersey-quickstart-webapp","groupId":"org.glassfish.jersey.archetypes","versions":["3.1.1","3.1.0","3.1.0-M8","3.1.0-M7","3.1.0-M3","3.1.0-M2","3.1.0-M1","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","3.0.0-RC2","3.0.0-M6","3.0.0-M1","2.39","2.38","2.37","2.36","2.35","2.34","2.33","2.32","2.31","2.30.1","2.30","2.29.1","2.29","2.28","2.28-RC4","2.27","2.26","2.26-b09","2.26-b08","2.26-b07","2.26-b06","2.26-b05","2.26-b04","2.26-b03","2.26-b02","2.26-b01","2.25.1","2.25","2.24.1","2.24","2.23.2","2.23.1","2.23","2.22.4","2.22.3","2.22.2","2.22.1","2.22","2.21.1","2.21","2.20","2.19","2.18","2.17","2.16","2.15","2.14","2.13","2.12","2.11","2.10.4","2.10.3","2.10.2","2.10.1","2.10","2.9.1","2.9","2.8","2.7","2.6","2.5.2","2.5.1","2.5","2.4.1","2.4","2.3.1","2.3","2.2","2.1","2.0.1","2.0","2.0-rc1","2.0-m13","2.0-m13-3","2.0-m13-2","2.0-m13-1","2.0-m12","2.0-m12-1","2.0-m11","2.0-m10","2.0-m09","2.0-m09-1","2.0-m08","2.0-m08-1","2.0-m07","2.0-m07-1","2.0-m06","2.0-m05","2.0-m05-2","2.0-m05-1","2.0-m04","2.0-m04-2","2.0-m04-1","2.0-m03"],"description":"An archetype which contains a quick start Jersey-based web application project."},{"artifactId":"tyrus-archetype-echo","groupId":"org.glassfish.tyrus.archetypes","versions":["2.1.3","2.1.2","2.1.1","2.1.0","2.1.0-M4","2.1.0-M2","2.1.0-M1","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","2.0.0-RC1","2.0.0-M3","2.0.0-M2","2.0.0-M1","1.20","1.19","1.18","1.17","1.16","1.15","1.14","1.13.1","1.13","1.12","1.11.1","1.11","1.10","1.9","1.8.3","1.8.2","1.8.1","1.8","1.7","1.6","1.5"],"description":"An archetype which contains a Tyrus echo application."},{"artifactId":"org.glassmaker.archetype.basic","groupId":"org.glassmaker","versions":["0.0.1"]},{"artifactId":"gradoop-quickstart","groupId":"org.gradoop","versions":["0.6.0","0.5.2"],"description":"Archetype for creating a simple Gradoop application."},{"artifactId":"grails-maven-archetype","groupId":"org.grails","versions":["2.3.8","2.3.7","2.3.6","2.3.5","2.3.4","2.3.2","2.3.1","2.3.0","2.2.5","2.2.4","2.2.3","2.2.2","2.2.1","2.2.0","2.1.5","2.1.4","2.1.3","2.1.2","2.1.1","2.1.0","2.0.3","2.0.1","1.3.7","1.3.6","1.3.4","1.3.3","1.3.2","1.2.2","1.2.1","1.2.0","1.1","1.0","1.0-beta3","1.0-beta2","1.0-RC2","1.0-RC1","2.4.0.RC2","2.4.0.RC1","2.2.0.RC2","2.2.0.RC1","2.1.0.RC3","2.1.0.RC2","2.1.0.RC1"],"description":"Maven archetype for Grails projects."},{"artifactId":"graniteds-flex-spring-jpa-hibernate","groupId":"org.graniteds.archetypes","versions":["3.0.3.GA","3.0.2.GA","2.0.0.M3","2.0.0.M2","2.0.0.M1"],"description":"Base project with Flex 4.6, Spring 3 and Hibernate using GraniteDS with RemoteObject API."},{"artifactId":"graniteds-spring-jpa-hibernate","groupId":"org.graniteds.archetypes","versions":["1.1.0.GA","1.0.0.RC2","1.0.0.RC1"],"description":"Base project with Flex 4.5, Spring 3 and Hibernate using GraniteDS with RemoteObject API."},{"artifactId":"graniteds-tide-cdi-jpa","groupId":"org.graniteds.archetypes","versions":["1.1.0.GA","1.0.0.RC2","1.0.0.RC1"],"description":"Base project with Flex 4.5 and CDI using GraniteDS with the Tide API."},{"artifactId":"graniteds-tide-flex-cdi-jpa","groupId":"org.graniteds.archetypes","versions":["3.0.3.GA","3.0.2.GA","2.0.0.M3","2.0.0.M2","2.0.0.M1"],"description":"Base project with Flex 4.6, CDI and JPA using GraniteDS with Tide API."},{"artifactId":"graniteds-tide-flex-seam-jpa-hibernate","groupId":"org.graniteds.archetypes","versions":["3.0.3.GA","3.0.2.GA","2.0.0.M3","2.0.0.M2","2.0.0.M1"],"description":"Base project with Flex 4.6, JBoss Seam 2.2 and Hibernate using GraniteDS with the Tide API."},{"artifactId":"graniteds-tide-flex-spring-jpa-hibernate","groupId":"org.graniteds.archetypes","versions":["3.0.3.GA","3.0.2.GA","2.0.0.M3","2.0.0.M2","2.0.0.M1"],"description":"Base project with Flex 4.6, Spring 3.1 and Hibernate 3.6 using GraniteDS with the Tide API."},{"artifactId":"graniteds-tide-javafx-spring-jpa-hibernate","groupId":"org.graniteds.archetypes","versions":["3.0.3.GA","3.0.2.GA","2.0.0.M3","2.0.0.M2","2.0.0.M1"],"description":"Base project with JavaFX 2.2, Spring 3.1 and Hibernate 3.6 using GraniteDS with the Tide API."},{"artifactId":"graniteds-tide-seam-jpa-hibernate","groupId":"org.graniteds.archetypes","versions":["1.1.0.GA","1.0.0.RC2","1.0.0.RC1"],"description":"Base project with Flex 4.5, JBoss Seam 2.2 and Hibernate using GraniteDS with the Tide API."},{"artifactId":"graniteds-tide-spring-jpa-hibernate","groupId":"org.graniteds.archetypes","versions":["1.1.0.GA","1.0.0.RC2","1.0.0.RC1"],"description":"Base project with Flex 4.5, Spring 3 and Hibernate using GraniteDS with the Tide API."},{"artifactId":"servlet31-archetype-webapp","groupId":"org.graphast","versions":["1.0.11","1.0.10","1.0.9"],"description":"Webapp Archetype for Servlet 3.1"},{"artifactId":"servlet31-webapp-archetype","groupId":"org.graphast","versions":["1.0.8","1.0.7"],"description":"Webapp Archetype for Servlet 3.1"},{"artifactId":"graphwalker-maven-archetype","groupId":"org.graphwalker","versions":["4.3.2","4.3.1","4.3.0","4.2.0","4.1.0","4.0.1","4.0.0","3.4.2","3.4.1","3.4.0","3.3.0","3.2.1","3.2.0","3.1.1","3.1.0","3.0.0"]},{"artifactId":"graylog-plugin-archetype","groupId":"org.graylog","versions":["5.0.4","5.0.3","5.0.2","5.0.1","5.0.0","4.3.13","4.3.12","4.3.11","4.3.10","4.3.9","4.3.8","4.3.7","4.3.6","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3.0","4.2.13","4.2.12","4.2.11","4.2.10","4.2.9","4.2.8","4.2.7","4.2.6","4.2.5","4.2.3","4.2.2","4.2.1","4.2.0","4.2.0-rc.1","4.2.0-beta.1","4.1.14","4.1.13","4.1.12","4.1.11","4.1.9","4.1.8","4.1.7","4.1.6","4.1.5","4.1.4","4.1.3","4.1.2","4.1.1","4.1.0","4.1.0-rc.1","4.1.0-beta.2","4.1.0-beta.1","4.0.17","4.0.16","4.0.14","4.0.13","4.0.12","4.0.11","4.0.10","4.0.9","4.0.8","4.0.7","4.0.6","4.0.5","4.0.4","4.0.3","4.0.2","4.0.1","4.0.0","4.0.0-rc.2","4.0.0-rc.1","3.3.17","3.3.15","3.3.14","3.3.13","3.3.12","3.3.11","3.3.10","3.3.9","3.3.8","3.3.7","3.3.6","3.3.5","3.3.4","3.3.3","3.3.2","3.3.0","3.3.0-rc.1","3.3.0-beta.3","3.2.5","3.2.4","3.2.3","3.2.2","3.2.1","3.2.0","3.1.4","3.1.3","3.1.2","3.1.1","3.1.0","3.1.0-rc.2","3.1.0-rc.1","3.1.0-beta.3","3.1.0-beta.2","3.0.2","3.0.1","3.0.0","3.0.0-rc.2","3.0.0-rc.1","3.0.0-beta.4","3.0.0-beta.3","3.0.0-beta.2","3.0.0-beta.1","3.0.0-alpha.5","3.0.0-alpha.4","3.0.0-alpha.3","3.0.0-alpha.2","3.0.0-alpha.1","3.0.0-alpha.0","2.5.2","2.5.1","2.5.0","2.5.0-beta.1","2.5.0-alpha.1","2.4.7","2.4.6","2.4.5","2.4.4","2.4.3","2.4.2","2.4.1","2.4.0","2.4.0-rc.2","2.4.0-rc.1","2.4.0-beta.4","2.4.0-beta.3","2.4.0-beta.2","2.4.0-beta.1","2.4.0-alpha.3","2.4.0-alpha.2","2.4.0-alpha.1","2.3.2","2.3.1","2.3.0","2.3.0-rc.2","2.3.0-rc.1","2.3.0-beta.1","2.3.0-alpha.3","2.3.0-alpha.2","2.3.0-alpha.1","2.2.3","2.2.2","2.2.1","2.2.0","2.2.0-rc.1","2.2.0-beta.6","2.2.0-beta.5","2.2.0-beta.4","2.2.0-beta.3","2.2.0-beta.2","2.2.0-beta.1","2.2.0-alpha.4","2.2.0-alpha.3","2.2.0-alpha.1","2.1.2","2.1.1","2.1.0","2.1.0-rc.1","2.1.0-beta.4","2.1.0-beta.3","2.1.0-beta.2","2.1.0-beta.1","2.1.0-alpha.2","2.1.0-alpha.1","2.0.3","2.0.2","2.0.1","2.0.0","2.0.0-rc.1","2.0.0-beta.3","2.0.0-beta.2","2.0.0-beta.1","1.0.1","1.0.0","1.0.0-rc.1","1.0.0-beta.2"]},{"artifactId":"graylog2-plugin-archetype","groupId":"org.graylog2","versions":["0.90.0"]},{"artifactId":"lenskit-archetype-fancy-analysis","groupId":"org.grouplens.lenskit","versions":["2.1","2.1-M2","2.1-M1","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0","2.0-M2","2.0-M1","1.3","1.2","1.1","2.0.3.2","2.0.3.1"]},{"artifactId":"lenskit-archetype-simple-analysis","groupId":"org.grouplens.lenskit","versions":["2.1","2.1-M2","2.1-M1","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0","2.0-M2","2.0-M1","1.3","1.2","1.1","1.0.2","1.0.1","1.0","2.0.3.2","2.0.3.1"]},{"artifactId":"spring-rest-app-archetype","groupId":"org.hglteam.archetypes","versions":["1.0.1","1.0.0"],"description":"Spring REST application archetype"},{"artifactId":"hibernate-search-quickstart","groupId":"org.hibernate","versions":["3.2.0-Beta1","4.3.0.Alpha1","4.2.0.Final","4.2.0.CR1","4.2.0.Beta2","4.2.0.Beta1","4.1.1.Final","4.1.0.Final","4.1.0.CR3","4.1.0.CR2","4.1.0.CR1","4.1.0.Beta2","4.1.0.Beta1","4.1.0.Alpha1","4.0.0.Final","4.0.0.CR2","4.0.0.CR1","4.0.0.Beta2","4.0.0.Beta1","4.0.0.Alpha2","3.4.2.Final","3.4.1.Final","3.4.0.Final","3.4.0.CR2","3.4.0.CR1","3.4.0.Beta1","3.4.0.Alpha1","3.3.0.Final","3.3.0.CR2","3.3.0.CR1","3.1.1.GA","3.1.0.GA","3.1.0.CR1","3.1.0.Beta2"]},{"artifactId":"hibernate-validator-quickstart-archetype","groupId":"org.hibernate","versions":["5.0.0.Alpha1","4.3.2.Final","4.3.0.Final","4.3.0.CR1","4.3.0.Beta1","4.3.0.Alpha1","4.2.0.Final","4.2.0.CR1","4.2.0.Beta2","4.2.0.Beta1","4.1.0.Final","4.1.0.CR1","4.1.0.Beta2","4.0.2.GA","4.0.1.GA","4.0.0.GA","4.0.0.CR1","4.0.0.Beta2","4.0.0.Beta1"],"description":"Aggregator of the Hibernate Validator modules."},{"artifactId":"hotrod-archetype-sm-jar-app","groupId":"org.hotrodorm.hotrod","versions":["3.4.14","3.4.13","3.4.12","3.4.11","3.4.10","3.4.9","3.4.8","3.4.7","3.4.6","3.4.5","3.4.4","3.4.3","3.4.2","3.4.1","3.4.0","3.3.3","3.3.2","3.3.0","3.2.3","3.2.2","3.2.1","3.2.0"]},{"artifactId":"cwf-webapp-archetype","groupId":"org.hspconsortium.carewebframework","versions":["3.0.0-RC4","3.0.0-RC1","2.0.0"],"description":"Template for creating a web application."},{"artifactId":"ikasan-build-parent-maven-plugin","groupId":"org.ikasan","versions":["2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","2.0.0-rc3","2.0.0-rc2","2.0.0-rc1","2.0.0-beta","1.5.1","1.5.0","1.4.3","1.4.2","1.4.1","1.4.0","1.3.1","1.3.0","1.2.6","1.2.5","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0","1.0.0-rc5","1.0.0-rc4"]},{"artifactId":"ikasan-im-jboss6-activemq-maven-plugin","groupId":"org.ikasan","versions":["2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","2.0.0-rc3","2.0.0-rc2","2.0.0-rc1","2.0.0-beta","1.5.1","1.5.0","1.4.3","1.4.2","1.4.1","1.4.0","1.3.1","1.3.0","1.2.6","1.2.5","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0"]},{"artifactId":"ikasan-im-jboss6-db-maven-plugin","groupId":"org.ikasan","versions":["2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","2.0.0-rc3","2.0.0-rc2","2.0.0-rc1","2.0.0-beta","1.5.1","1.5.0","1.4.3","1.4.2","1.4.1","1.4.0","1.3.1","1.3.0","1.2.6","1.2.5","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3"]},{"artifactId":"ikasan-im-jboss6-filesystem-maven-plugin","groupId":"org.ikasan","versions":["2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","2.0.0-rc3","2.0.0-rc2","2.0.0-rc1","2.0.0-beta","1.5.1","1.5.0","1.4.3","1.4.2","1.4.1","1.4.0","1.3.1","1.3.0","1.2.6","1.2.5","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3"]},{"artifactId":"ikasan-im-jboss6-jms-maven-plugin","groupId":"org.ikasan","versions":["2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","2.0.0-rc3","2.0.0-rc2","2.0.0-rc1","2.0.0-beta","1.5.1","1.5.0","1.4.3","1.4.2","1.4.1","1.4.0","1.3.1","1.3.0","1.2.6","1.2.5","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3"]},{"artifactId":"ikasan-im-jboss6-sftp-maven-plugin","groupId":"org.ikasan","versions":["2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","2.0.0-rc3","2.0.0-rc2","2.0.0-rc1","2.0.0-beta","1.5.1","1.5.0","1.4.3","1.4.2","1.4.1","1.4.0","1.3.1","1.3.0","1.2.6","1.2.5","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.8","1.0.7","1.0.6","1.0.5"]},{"artifactId":"ikasan-integration-module-jboss6-maven-plugin","groupId":"org.ikasan","versions":["1.0.2","1.0.1","1.0.0","1.0.0-rc5","1.0.0-rc4"]},{"artifactId":"ikasan-rt-conf-jboss6-maven-plugin","groupId":"org.ikasan","versions":["2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","2.0.0-rc3","2.0.0-rc2","2.0.0-rc1","2.0.0-beta","1.5.1","1.5.0","1.4.3","1.4.2","1.4.1","1.4.0","1.3.1","1.3.0","1.2.6","1.2.5","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0","1.0.0-rc5","1.0.0-rc4"]},{"artifactId":"ikasan-standalone-db-jms-im-maven-plugin","groupId":"org.ikasan","versions":["3.2.3","3.2.2","3.2.1","3.2.0","3.1.2","3.1.1","3.1.0","3.1.0-beta","3.0.1","3.0.0","2.1.3","2.1.2","2.1.1","2.1.0"]},{"artifactId":"ikasan-standalone-filesystem-im-maven-plugin","groupId":"org.ikasan","versions":["3.2.3","3.2.2","3.2.1","3.2.0","3.1.2","3.1.1","3.1.0","3.1.0-beta","3.0.1","3.0.0","2.1.3","2.1.2","2.1.1","2.1.0","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","2.0.0-rc3","2.0.0-rc2","2.0.0-rc1"]},{"artifactId":"ikasan-standalone-ftp-jms-im-maven-plugin","groupId":"org.ikasan","versions":["3.2.3","3.2.2","3.2.1","3.2.0","3.1.2","3.1.1","3.1.0","3.1.0-beta","3.0.1","3.0.0","2.1.3","2.1.2","2.1.1","2.1.0","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","2.0.0-rc3"]},{"artifactId":"ikasan-standalone-hibernate-jms-im-maven-plugin","groupId":"org.ikasan","versions":["3.2.3","3.2.2","3.2.1","3.2.0","3.1.2","3.1.1","3.1.0","3.1.0-beta","3.0.1","3.0.0","2.1.3","2.1.2","2.1.1","2.1.0"]},{"artifactId":"ikasan-standalone-jms-im-maven-plugin","groupId":"org.ikasan","versions":["3.2.3","3.2.2","3.2.1","3.2.0","3.1.2","3.1.1","3.1.0","3.1.0-beta","3.0.1","3.0.0","2.1.3","2.1.2","2.1.1","2.1.0","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","2.0.0-rc3"]},{"artifactId":"ikasan-standalone-sftp-jms-im-maven-plugin","groupId":"org.ikasan","versions":["3.2.3","3.2.2","3.2.1","3.2.0","3.1.2","3.1.1","3.1.0","3.1.0-beta","3.0.1","3.0.0","2.1.3","2.1.2","2.1.1","2.1.0","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","2.0.0-rc3"]},{"artifactId":"ikasan-standalone-vanilla-im-maven-plugin","groupId":"org.ikasan","versions":["3.2.3","3.2.2","3.2.1","3.2.0","3.1.2","3.1.1","3.1.0","3.1.0-beta","3.0.1","3.0.0","2.1.3","2.1.2","2.1.1","2.1.0","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0"]},{"artifactId":"jboss6-module-activemq-maven-plugin","groupId":"org.ikasan","versions":["2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","2.0.0-rc3","2.0.0-rc2","2.0.0-rc1","2.0.0-beta","1.5.1","1.5.0","1.4.3","1.4.2","1.4.1","1.4.0","1.3.1","1.3.0","1.2.6","1.2.5","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0"]},{"artifactId":"imixs-workflow-jee-archetype","groupId":"org.imixs.application","versions":["0.0.4","0.0.3","0.0.2"],"description":"Imixs Workflow JEE Archetype provides a JEE Sample Application"},{"artifactId":"imixs-office-archetype","groupId":"org.imixs.workflow","versions":["4.0.1","4.0.0"],"description":"The Mave Core Archetype for Imixs-Office-Workflow"},{"artifactId":"quickstart-archetype","groupId":"org.incode.platform.archetype","versions":["1.16.2","1.16.0","1.15.0","1.15.1.1","1.15.0.2","1.15.0.1"],"description":"Domain application leveraging the Incode Platform."},{"artifactId":"client","groupId":"org.infinispan.archetypes","versions":["14.0.6.Final","14.0.5.Final","14.0.4.Final","14.0.3.Final","14.0.2.Final","14.0.1.Final","14.0.0.Final","14.0.0.Dev04","14.0.0.Dev03","14.0.0.Dev02","14.0.0.Dev01","14.0.0.CR2","14.0.0.CR1","13.0.9.Final","13.0.8.Final","13.0.7.Final","13.0.6.Final","13.0.5.Final","13.0.4.Final","13.0.3.Final","13.0.2.Final","13.0.15.Final","13.0.14.Final","13.0.13.Final","13.0.12.Final","13.0.11.Final","13.0.10.Final","13.0.1.Final","13.0.0.Final","13.0.0.Dev04","13.0.0.Dev03","13.0.0.Dev02","13.0.0.Dev01","13.0.0.CR2","13.0.0.CR1","12.1.9.Final","12.1.8.Final","12.1.7.Final","12.1.6.Final","12.1.5.Final","12.1.4.Final","12.1.3.Final","12.1.2.Final","12.1.14.Final","12.1.13.Final","12.1.12.Final","12.1.11.Final","12.1.10.Final","12.1.1.Final","12.1.0.Final","12.1.0.Dev01","12.1.0.CR2","12.1.0.CR1","12.0.2.Final","12.0.1.Final","12.0.0.Final","12.0.0.Dev3","12.0.0.Dev07","12.0.0.Dev06","12.0.0.Dev05","12.0.0.Dev04","12.0.0.Dev03","12.0.0.Dev02","12.0.0.Dev01","12.0.0.CR1","11.0.9.Final","11.0.8.Final","11.0.7.Final","11.0.6.Final","11.0.5.Final","11.0.4.Final","11.0.3.Final","11.0.2.Final","11.0.17.Final","11.0.16.Final","11.0.15.Final","11.0.14.Final","11.0.13.Final","11.0.11.Final","11.0.10.Final","11.0.1.Final"],"description":"Maven archetype for a sample application using the Hot Rod Java client."},{"artifactId":"embedded","groupId":"org.infinispan.archetypes","versions":["14.0.6.Final","14.0.5.Final","14.0.4.Final","14.0.3.Final","14.0.2.Final","14.0.1.Final","14.0.0.Final","14.0.0.Dev04","14.0.0.Dev03","14.0.0.Dev02","14.0.0.Dev01","14.0.0.CR2","14.0.0.CR1","13.0.9.Final","13.0.8.Final","13.0.7.Final","13.0.6.Final","13.0.5.Final","13.0.4.Final","13.0.3.Final","13.0.2.Final","13.0.15.Final","13.0.14.Final","13.0.13.Final","13.0.12.Final","13.0.11.Final","13.0.10.Final","13.0.1.Final","13.0.0.Final","13.0.0.Dev04","13.0.0.Dev03","13.0.0.Dev02","13.0.0.Dev01","13.0.0.CR2","13.0.0.CR1","12.1.9.Final","12.1.8.Final","12.1.7.Final","12.1.6.Final","12.1.5.Final","12.1.4.Final","12.1.3.Final","12.1.2.Final","12.1.14.Final","12.1.13.Final","12.1.12.Final","12.1.11.Final","12.1.10.Final","12.1.1.Final","12.1.0.Final","12.1.0.Dev01","12.1.0.CR2","12.1.0.CR1","12.0.2.Final","12.0.1.Final","12.0.0.Final","12.0.0.Dev3","12.0.0.Dev07","12.0.0.Dev06","12.0.0.Dev05","12.0.0.Dev04","12.0.0.Dev03","12.0.0.Dev02","12.0.0.Dev01","12.0.0.CR1","11.0.9.Final","11.0.8.Final","11.0.7.Final","11.0.6.Final","11.0.5.Final","11.0.4.Final","11.0.3.Final","11.0.2.Final","11.0.17.Final","11.0.16.Final","11.0.15.Final","11.0.14.Final","11.0.13.Final","11.0.11.Final","11.0.10.Final","11.0.1.Final"],"description":"Maven archetype for a sample application that embeds Infinispan."},{"artifactId":"server-task","groupId":"org.infinispan.archetypes","versions":["14.0.6.Final","14.0.5.Final","14.0.4.Final","14.0.3.Final","14.0.2.Final","14.0.1.Final","14.0.0.Final","14.0.0.Dev04","14.0.0.Dev03","14.0.0.Dev02","14.0.0.Dev01","14.0.0.CR2","14.0.0.CR1","13.0.9.Final","13.0.8.Final","13.0.7.Final","13.0.6.Final","13.0.5.Final","13.0.4.Final","13.0.3.Final","13.0.2.Final","13.0.15.Final","13.0.14.Final","13.0.13.Final","13.0.12.Final","13.0.11.Final","13.0.10.Final","13.0.1.Final","13.0.0.Final","13.0.0.Dev04","13.0.0.Dev03","13.0.0.Dev02","13.0.0.Dev01","13.0.0.CR2","13.0.0.CR1"],"description":"Maven archetype to create a Infinispan ServerTask implementation"},{"artifactId":"store","groupId":"org.infinispan.archetypes","versions":["14.0.6.Final","14.0.5.Final","14.0.4.Final","14.0.3.Final","14.0.2.Final","14.0.1.Final","14.0.0.Final","14.0.0.Dev04","14.0.0.Dev03","14.0.0.Dev02","14.0.0.Dev01","14.0.0.CR2","14.0.0.CR1","13.0.9.Final","13.0.8.Final","13.0.7.Final","13.0.6.Final","13.0.5.Final","13.0.4.Final","13.0.3.Final","13.0.2.Final","13.0.15.Final","13.0.14.Final","13.0.13.Final","13.0.12.Final","13.0.11.Final","13.0.10.Final","13.0.1.Final","13.0.0.Final","13.0.0.Dev04","13.0.0.Dev03","13.0.0.Dev02","13.0.0.Dev01","13.0.0.CR2","13.0.0.CR1","12.1.9.Final","12.1.8.Final","12.1.7.Final","12.1.6.Final","12.1.5.Final","12.1.4.Final","12.1.3.Final","12.1.2.Final","12.1.14.Final","12.1.13.Final","12.1.12.Final","12.1.11.Final","12.1.10.Final","12.1.1.Final","12.1.0.Final","12.1.0.Dev01","12.1.0.CR2","12.1.0.CR1","12.0.2.Final","12.0.1.Final","12.0.0.Final","12.0.0.Dev3","12.0.0.Dev07","12.0.0.Dev06","12.0.0.Dev05","12.0.0.Dev04","12.0.0.Dev03","12.0.0.Dev02","12.0.0.Dev01","12.0.0.CR1","11.0.9.Final","11.0.8.Final","11.0.7.Final","11.0.6.Final","11.0.5.Final","11.0.4.Final","11.0.3.Final","11.0.2.Final","11.0.17.Final","11.0.16.Final","11.0.15.Final","11.0.14.Final","11.0.13.Final","11.0.11.Final","11.0.10.Final","11.0.1.Final"],"description":"Maven archetype for a sample implementation of a custom cache store."},{"artifactId":"store-archetype","groupId":"org.infinispan.archetypes","versions":["1.0.23"],"description":"Builds skeleton implementations of custom Infinispan stores."},{"artifactId":"klab-component-quickstart","groupId":"org.integratedmodelling","versions":["0.9.9"],"description":"Use this archetype to quickly populate a Maven project suitable for implementing a new k.LAB component."},{"artifactId":"maven-archetype-jar","groupId":"org.irenical","versions":["1.0"],"description":"For a standard LGPL Java library generation"},{"artifactId":"archetype-uservice","groupId":"org.irenical.maven","versions":["1.0.0"]},{"artifactId":"spring-boot-react-archetype","groupId":"org.irlab.fd.maven.archetypes","versions":["2.0","1.2","1.1","1.0"],"description":"A Maven Archetype for Spring Boot and React projects."},{"artifactId":"spring-mvc-thymeleaf-archetype","groupId":"org.irlab.fd.maven.archetypes","versions":["1.3.4"],"description":"A Maven Archetype for Spring MVC, and Thymeleaf, projects."},{"artifactId":"JacpFX-empty-quickstart","groupId":"org.jacpfx","versions":["2.0.2","2.0.1","2.0"],"description":"A simple JacpFX quistart application with two perspectives and four components."},{"artifactId":"JacpFX-simple-quickstart","groupId":"org.jacpfx","versions":["2.1","2.0.2","2.0.1","2.0","2.0-RC4","2.0-RC3"],"description":"JacpFX arechetype with predefined workbench, perspective and components. This is a good starting point to dive into JacpFX.."},{"artifactId":"jahia-app-archetype","groupId":"org.jahia.archetypes","versions":["2.4.2","2.4.1","2.4.1-RC1"],"description":"Archetype for creating a new JahiApp module project to be run on a Digital Experience Manager server"},{"artifactId":"jahia-module-archetype","groupId":"org.jahia.archetypes","versions":["4.2","4.1","4.0","3.0","2.8","2.7","2.6","2.6-RC1","2.4.2","2.4.1","2.4.1-RC1"],"description":"Archetype for creating a new module project to be run on a Jahia server"},{"artifactId":"jahia-profileModule-archetype","groupId":"org.jahia.archetypes","versions":["2.4.2","2.4.1","2.4.1-RC1"],"description":"Archetype for creating a new profile module project to be run on a Digital Experience Manager server"},{"artifactId":"jahia-templatesSet-archetype","groupId":"org.jahia.archetypes","versions":["4.2","4.1","4.0","3.0","2.8","2.7","2.6","2.6-RC1","2.4.2","2.4.1","2.4.1-RC1"],"description":"Archetype for creating a new template set project to be run on a Jahia server"},{"artifactId":"jallaby-beans-maven-archetype","groupId":"org.jallaby","versions":["1.0.0"],"description":"The Jallaby Beans Maven Archetype"},{"artifactId":"jsr286-archetype","groupId":"org.jasig.portlet.archetype","versions":["1.0.0","1.0.0-RC3","1.0.0-RC2","1.0.0-RC1"]},{"artifactId":"javaee7-arquillian-archetype","groupId":"org.javaee-samples","versions":["1.0.1"],"description":"JavaEE 7 Arquillian Archetype Sample"},{"artifactId":"jaxdb-maven-archetype","groupId":"org.jaxdb","versions":["0.4.1","0.4.0","0.3"],"description":"A quick-start example of how to use the JAX-DB framework."},{"artifactId":"jbehave-groovy-archetype","groupId":"org.jbehave","versions":["5.1","5.0","4.8.3","4.8.2","4.8.1","4.8","4.7","4.6.3","4.6.2","4.6.1","4.6","4.5.1","4.5","4.4","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3","4.3-beta-4","4.3-beta-3","4.3-beta-2","4.3-beta-1","4.2","4.2-beta-5","4.2-beta-4","4.2-beta-3","4.2-beta-2","4.2-beta-1","4.1.3","4.1.2","4.1.1","4.1","4.0.5","4.0.4","4.0.3","4.0.2","4.0.1","4.0","4.0-beta-9","4.0-beta-8","4.0-beta-7","4.0-beta-6","4.0-beta-5","4.0-beta-4","4.0-beta-3","4.0-beta-2","4.0-beta-1","4.0-beta-11","4.0-beta-10","3.10","3.9.5","3.9.4","3.9.3","3.9.2","3.9.1","3.9","3.9-beta-5","3.9-beta-4","3.9-beta-3","3.9-beta-2","3.9-beta-1","3.8","3.7.5","3.7.4","3.7.3","3.7.2","3.7.1","3.7","3.6.9","3.6.8","3.6.7","3.6.6","3.6.5","3.6.4","3.6.3","3.6.2","3.6.1","3.6","3.6-beta-3","3.6-beta-2","3.6-beta-1","3.5.4","3.5.3","3.5.2","3.5.1","3.5","3.5-beta-3","3.5-beta-2","3.5-beta-1","3.4.5","3.4.4","3.4.3","3.4.2","3.4.1","3.4","3.4-beta-4","3.4-beta-3","3.4-beta-2","3.4-beta-1"],"description":"An archetype to run multiple textual stories with steps classes written in Groovy."},{"artifactId":"jbehave-guice-archetype","groupId":"org.jbehave","versions":["5.1","5.0","4.8.3","4.8.2","4.8.1","4.8","4.7","4.6.3","4.6.2","4.6.1","4.6","4.5.1","4.5","4.4","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3","4.3-beta-4","4.3-beta-3","4.3-beta-2","4.3-beta-1","4.2","4.2-beta-5","4.2-beta-4","4.2-beta-3","4.2-beta-2","4.2-beta-1","4.1.3","4.1.2","4.1.1","4.1","4.0.5","4.0.4","4.0.3","4.0.2","4.0.1","4.0","4.0-beta-9","4.0-beta-8","4.0-beta-7","4.0-beta-6","4.0-beta-5","4.0-beta-4","4.0-beta-3","4.0-beta-2","4.0-beta-1","4.0-beta-11","4.0-beta-10","3.10","3.9.5","3.9.4","3.9.3","3.9.2","3.9.1","3.9","3.9-beta-5","3.9-beta-4","3.9-beta-3","3.9-beta-2","3.9-beta-1","3.8","3.7.5","3.7.4","3.7.3","3.7.2","3.7.1","3.7","3.6.9","3.6.8","3.6.7","3.6.6","3.6.5","3.6.4","3.6.3","3.6.2","3.6.1","3.6","3.6-beta-3","3.6-beta-2","3.6-beta-1","3.5.4","3.5.3","3.5.2","3.5.1","3.5","3.5-beta-3","3.5-beta-2","3.5-beta-1","3.4.5","3.4.4","3.4.3","3.4.2","3.4.1","3.4","3.4-beta-4"],"description":"An archetype to run multiple textual stories configured programmatically but with steps classes composed using Guice."},{"artifactId":"jbehave-needle-archetype","groupId":"org.jbehave","versions":["5.1","5.0","4.8.3","4.8.2","4.8.1","4.8","4.7","4.6.3","4.6.2","4.6.1","4.6","4.5.1","4.5","4.4","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3","4.3-beta-4","4.3-beta-3","4.3-beta-2","4.3-beta-1","4.2","4.2-beta-5","4.2-beta-4","4.2-beta-3","4.2-beta-2","4.2-beta-1","4.1.3","4.1.2","4.1.1","4.1","4.0.5","4.0.4","4.0.3","4.0.2","4.0.1","4.0","4.0-beta-9","4.0-beta-8","4.0-beta-7","4.0-beta-6","4.0-beta-5","4.0-beta-4","4.0-beta-11","4.0-beta-10","3.10","3.9.5","3.9.4","3.9.3","3.9.2","3.9.1","3.9","3.9-beta-5","3.9-beta-4","3.9-beta-3","3.9-beta-2"],"description":"An archetype to run multiple textual stories configured programmatically but with steps classes composed using Needle."},{"artifactId":"jbehave-pico-archetype","groupId":"org.jbehave","versions":["5.1","5.0","4.8.3","4.8.2","4.8.1","4.8","4.7","4.6.3","4.6.2","4.6.1","4.6","4.5.1","4.5","4.4","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3","4.3-beta-4","4.3-beta-3","4.3-beta-2","4.3-beta-1","4.2","4.2-beta-5","4.2-beta-4","4.2-beta-3","4.2-beta-2","4.2-beta-1","4.1.3","4.1.2","4.1.1","4.1","4.0.5","4.0.4","4.0.3","4.0.2","4.0.1","4.0","4.0-beta-9","4.0-beta-8","4.0-beta-7","4.0-beta-6","4.0-beta-5","4.0-beta-4","4.0-beta-3","4.0-beta-2","4.0-beta-1","4.0-beta-11","4.0-beta-10","3.10","3.9.5","3.9.4","3.9.3","3.9.2","3.9.1","3.9","3.9-beta-5","3.9-beta-4","3.9-beta-3","3.9-beta-2","3.9-beta-1","3.8","3.7.5","3.7.4","3.7.3","3.7.2","3.7.1","3.7","3.6.9","3.6.8","3.6.7","3.6.6","3.6.5","3.6.4","3.6.3","3.6.2","3.6.1","3.6","3.6-beta-3","3.6-beta-2","3.6-beta-1","3.5.4","3.5.3","3.5.2","3.5.1","3.5","3.5-beta-3","3.5-beta-2","3.5-beta-1","3.4.5","3.4.4","3.4.3","3.4.2","3.4.1","3.4","3.4-beta-4"],"description":"An archetype to run multiple textual stories configured programmatically but with steps classes composed using Pico."},{"artifactId":"jbehave-simple-archetype","groupId":"org.jbehave","versions":["5.1","5.0","4.8.3","4.8.2","4.8.1","4.8","4.7","4.6.3","4.6.2","4.6.1","4.6","4.5.1","4.5","4.4","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3","4.3-beta-4","4.3-beta-3","4.3-beta-2","4.3-beta-1","4.2","4.2-beta-5","4.2-beta-4","4.2-beta-3","4.2-beta-2","4.2-beta-1","4.1.3","4.1.2","4.1.1","4.1","4.0.5","4.0.4","4.0.3","4.0.2","4.0.1","4.0","4.0-beta-9","4.0-beta-8","4.0-beta-7","4.0-beta-6","4.0-beta-5","4.0-beta-4","4.0-beta-3","4.0-beta-2","4.0-beta-1","4.0-beta-11","4.0-beta-10","3.10","3.9.5","3.9.4","3.9.3","3.9.2","3.9.1","3.9","3.9-beta-5","3.9-beta-4","3.9-beta-3","3.9-beta-2","3.9-beta-1","3.8","3.7.5","3.7.4","3.7.3","3.7.2","3.7.1","3.7","3.6.9","3.6.8","3.6.7","3.6.6","3.6.5","3.6.4","3.6.3","3.6.2","3.6.1","3.6","3.6-beta-3","3.6-beta-2","3.6-beta-1","3.5.4","3.5.3","3.5.2","3.5.1","3.5","3.5-beta-3","3.5-beta-2","3.5-beta-1","3.4.5","3.4.4","3.4.3","3.4.2","3.4.1","3.4","3.4-beta-4","3.4-beta-3","3.4-beta-2","3.4-beta-1"],"description":"An archetype to run multiple textual stories configured programmatically."},{"artifactId":"jbehave-spring-archetype","groupId":"org.jbehave","versions":["5.1","5.0","4.8.3","4.8.2","4.8.1","4.8","4.7","4.6.3","4.6.2","4.6.1","4.6","4.5.1","4.5","4.4","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3","4.3-beta-4","4.3-beta-3","4.3-beta-2","4.3-beta-1","4.2","4.2-beta-5","4.2-beta-4","4.2-beta-3","4.2-beta-2","4.2-beta-1","4.1.3","4.1.2","4.1.1","4.1","4.0.5","4.0.4","4.0.3","4.0.2","4.0.1","4.0","4.0-beta-9","4.0-beta-8","4.0-beta-7","4.0-beta-6","4.0-beta-5","4.0-beta-4","4.0-beta-3","4.0-beta-2","4.0-beta-1","4.0-beta-11","4.0-beta-10","3.10","3.9.5","3.9.4","3.9.3","3.9.2","3.9.1","3.9","3.9-beta-5","3.9-beta-4","3.9-beta-3","3.9-beta-2","3.9-beta-1","3.8","3.7.5","3.7.4","3.7.3","3.7.2","3.7.1","3.7","3.6.9","3.6.8","3.6.7","3.6.6","3.6.5","3.6.4","3.6.3","3.6.2","3.6.1","3.6","3.6-beta-3","3.6-beta-2","3.6-beta-1","3.5.4","3.5.3","3.5.2","3.5.1","3.5","3.5-beta-3","3.5-beta-2","3.5-beta-1","3.4.5","3.4.4","3.4.3","3.4.2","3.4.1","3.4","3.4-beta-4","3.4-beta-3","3.4-beta-2","3.4-beta-1"],"description":"An archetype to run multiple textual stories configured programmatically but with steps classes composed using Spring."},{"artifactId":"jbehave-web-selenium-flash-archetype","groupId":"org.jbehave.web","versions":["4.0-beta-1","3.6-beta-2","3.6-beta-1","3.5.5","3.5.4","3.5.3","3.5.2","3.5.1","3.5","3.5-beta-3"],"description":"An archetype to run web Flash stories using Selenium."},{"artifactId":"jbehave-web-selenium-groovy-pico-archetype","groupId":"org.jbehave.web","versions":["4.0-beta-1","3.6-beta-2","3.6-beta-1","3.5.5","3.5.4","3.5.3","3.5.2","3.5.1","3.5","3.5-beta-3"],"description":"An archetype to run web stories using Selenium, Groovy and Pico."},{"artifactId":"jbehave-web-selenium-java-spring-archetype","groupId":"org.jbehave.web","versions":["4.0-beta-1","3.6-beta-2","3.6-beta-1","3.5.5","3.5.4","3.5.3","3.5.2","3.5.1","3.5","3.5-beta-3"],"description":"An archetype to run web stories using Selenium, Java and Spring."},{"artifactId":"jboss-html5-mobile-archetype","groupId":"org.jboss.aerogear.archetypes","versions":["7.1.3.Final","7.1.3.CR9","7.1.3.CR8","7.1.3.CR7","7.1.3.CR6","7.1.3.CR5","7.1.3.CR4","7.1.3.CR3","7.1.3.CR2","1.0.0.M8","1.0.0.M7","1.0.0.M7a","1.0.0.M6","1.0.0.M6c","1.0.0.M6b","1.0.0.M5","1.0.0.M4","1.0.0.M4b","1.0.0.M3","1.0.0.M3b","1.0.0.M2","1.0.0.M2c","1.0.0.M2b","1.0.0.M1"],"description":"An archetype that generates a Java EE 6 application using HTML5, and JAX-RS to support both desktop and mobile web browsers"},{"artifactId":"jboss-html5-mobile-blank-archetype","groupId":"org.jboss.aerogear.archetypes","versions":["7.1.3.Final","7.1.3.CR9","7.1.3.CR8","7.1.3.CR7","7.1.3.CR6","7.1.3.CR5","7.1.3.CR4","7.1.3.CR3","7.1.3.CR2","1.0.0.M8","1.0.0.M7","1.0.0.M7a","1.0.0.M6","1.0.0.M6c","1.0.0.M6b"],"description":"An archetype that generates a Java EE 6 application using HTML5, and JAX-RS to support both desktop and mobile web browsers"},{"artifactId":"jboss-javaee6-webapp-archetype","groupId":"org.jboss.archetype.eap","versions":["6.4.0.GA","6.3.0.GA","6.2.0.GA"],"description":"An archetype that generates a starter Java EE 6 webapp project for JBoss EAP 6"},{"artifactId":"jboss-javaee6-webapp-blank-archetype","groupId":"org.jboss.archetype.eap","versions":["6.4.0.GA","6.3.0.GA","6.2.0.GA"],"description":"An archetype that generates a starter Java EE 6 webapp project for JBoss EAP 6"},{"artifactId":"jboss-javaee6-webapp-ear-archetype","groupId":"org.jboss.archetype.eap","versions":["6.4.0.GA","6.3.0.GA","6.2.0.GA"],"description":"An archetype that generates a starter Java EE 6 webapp project for JBoss EAP 6. The project is an EAR, with an EJB-JAR and WAR"},{"artifactId":"jboss-javaee6-webapp-ear-blank-archetype","groupId":"org.jboss.archetype.eap","versions":["6.4.0.GA","6.3.0.GA","6.2.0.GA"],"description":"An archetype that generates a starter Java EE 6 webapp project for JBoss EAP 6. The project is an EAR, with an EJB-JAR and WAR"},{"artifactId":"jboss-forge-html5-archetype","groupId":"org.jboss.archetype.forge","versions":["1.0.0.Final"],"description":"An archetype that contains pre-requisites for demonstrating the use of JBoss Forge. The end-user will be instructed on how to scaffold a new application based on a pre-existing JPA entity. Refer to the embedded Eclipse cheatsheet for additional details."},{"artifactId":"jboss-html5-mobile-archetype","groupId":"org.jboss.archetype.wfk","versions":["2.7.0.Final","2.6.0.Final","2.5.0.Final","2.4.0.Final"],"description":"An archetype that generates a Java EE 6 application using HTML5, and JAX-RS to support both desktop and mobile web browsers"},{"artifactId":"jboss-html5-mobile-blank-archetype","groupId":"org.jboss.archetype.wfk","versions":["2.7.0.Final","2.6.0.Final","2.5.0.Final","2.4.0.Final"],"description":"An archetype that generates a Java EE 6 application using HTML5, and JAX-RS to support both desktop and mobile web browsers"},{"artifactId":"jboss-spring-mvc-archetype","groupId":"org.jboss.archetype.wfk","versions":["2.7.0.Final","2.6.0.Final","2.5.0.Final"],"description":"An archetype that generates a starter Spring MVC application with Java EE persistence settings (server bootstrapped JPA, JTA transaction management) for JBoss AS7"},{"artifactId":"richfaces-archetype-kitchensink","groupId":"org.jboss.archetype.wfk","versions":["2.7.0.Final","2.6.0.Final","2.5.0.Final"],"description":"JBoss WFK Archetype: Based on the Kitchen Sink Quickstart but adds RichFaces"},{"artifactId":"richfaces-archetype-simpleapp","groupId":"org.jboss.archetype.wfk","versions":["2.7.0.Final","2.6.0.Final","2.5.0.Final"],"description":"JBoss WFK Archetype: RichFaces Archetypes Simple Application"},{"artifactId":"jboss-as-subsystem","groupId":"org.jboss.as.archetypes","versions":["7.1.1.Final","7.1.0.Final","7.1.0.CR1","7.0.1.Final","7.0.0.Final"],"description":"An archetype that generates a skeleton project for implementing a JBoss AS 7 subsystem"},{"artifactId":"bus-quickstart","groupId":"org.jboss.errai.archetypes","versions":["2.4.0.Beta1","2.3.2.Final","2.3.1.Final","2.3.0.Final","2.3.0.CR1","2.2.1.Final","2.2.0.Final","2.2.0.CR2","2.2.0.CR1","2.1.1.Final","2.1.0.Final","2.1.0.CR2","2.1.0.CR1","2.1.0.Beta1","2.0.CR2","2.0.CR1","2.0.Beta4","2.0.Beta3","2.0.Beta2","2.0.2.Final","2.0.1.Final","2.0.0.Final"]},{"artifactId":"cdi-quickstart","groupId":"org.jboss.errai.archetypes","versions":["2.4.0.Beta1","2.3.2.Final","2.3.1.Final","2.3.0.Final","2.3.0.CR1","2.2.1.Final","2.2.0.Final","2.2.0.CR2","2.2.0.CR1","2.1.1.Final","2.1.0.Final","2.1.0.CR2","2.1.0.CR1","2.1.0.Beta1","2.0.CR2","2.0.CR1","2.0.Beta4","2.0.Beta3","2.0.Beta2","2.0.2.Final","2.0.1.Final","2.0.0.Final"]},{"artifactId":"cordova-quickstart","groupId":"org.jboss.errai.archetypes","versions":["2.4.0.Beta1"]},{"artifactId":"jaxrs-quickstart","groupId":"org.jboss.errai.archetypes","versions":["2.4.0.Beta1","2.3.2.Final","2.3.1.Final","2.3.0.Final","2.3.0.CR1","2.2.1.Final","2.2.0.Final","2.2.0.CR2","2.2.0.CR1","2.1.1.Final","2.1.0.Final","2.1.0.CR2","2.1.0.CR1","2.1.0.Beta1","2.0.CR2","2.0.CR1","2.0.Beta4","2.0.Beta3","2.0.Beta2","2.0.2.Final","2.0.1.Final","2.0.0.Final"]},{"artifactId":"jboss-errai-kitchensink-archetype","groupId":"org.jboss.errai.archetypes","versions":["2.3.2.Final","2.2.1.Final","2.2.0.Final","2.2.0.CR2","2.2.0.CR1","2.1.1.Final","2.1.0.Final","2.1.0.CR1","2.1.0.Beta1","2.0.2.Final","2.0.0.Final"],"description":"A starter Errai + Java EE 6 webapp project for use on JBoss AS 7 / EAP 6, generated from the jboss-errai-kitchensink-archetype archetype"},{"artifactId":"kitchensink-quickstart","groupId":"org.jboss.errai.archetypes","versions":["2.0.CR2","2.0.CR1","2.0.Beta4","2.0.Beta3","2.0.Beta2","2.0.2.Final","2.0.1.Final","2.0.0.Final"],"description":"A starter Errai + Java EE 6 webapp project for use on JBoss AS 7 / EAP 6, generated from the kitchensink-quickstart archetype"},{"artifactId":"selenium-testng","groupId":"org.jboss.maven.archetypes","versions":["1.0"]},{"artifactId":"1.2-basic","groupId":"org.jboss.portletbridge.archetypes","versions":["2.2.0-CR01","2.3.1.Final","2.3.0.Final","2.2.0.FINAL","2.1.0.FINAL","2.1.0.CR1","2.0.0.FINAL","2.0.0.FINAL.EPP43CP05","2.0.0.CR1","2.0.0.BETA","2.0.0.ALPHA","1.0.0.CR3","1.0.0.CR2","1.0.0.CR1","1.0.0.B6","1.0.0.B5","1.0.0.B4","1.0.0.B3"]},{"artifactId":"2.0-basic","groupId":"org.jboss.portletbridge.archetypes","versions":["3.0.0.Beta1","3.0.0.ALPHA"]},{"artifactId":"2.0-basic-archetype","groupId":"org.jboss.portletbridge.archetypes","versions":["3.1.0.CR1","3.1.0.Beta2","3.1.0.Beta1","3.1.0.Alpha2","3.1.0.Alpha1","3.0.0.Final","3.0.0.CR1","3.0.0.Beta4","3.0.0.Beta3","3.0.0.Beta2"]},{"artifactId":"jsf2-basic-archetype","groupId":"org.jboss.portletbridge.archetypes","versions":["3.3.4.Final","3.3.3.Final","3.3.2.Final","3.3.1.Final","3.3.0.Final","3.3.0.CR1","3.3.0.Beta2","3.3.0.Beta1","3.3.0.Alpha3","3.3.0.Alpha2","3.3.0.Alpha1","3.2.1.Final","3.2.0.Final","3.2.0.CR1","3.2.0.Beta2","3.2.0.Beta1","3.2.0.Alpha2","3.2.0.Alpha1","3.1.2.Final","3.1.1.Final","3.1.0.Final"]},{"artifactId":"richfaces-basic","groupId":"org.jboss.portletbridge.archetypes","versions":["2.2.0-CR01","2.3.1.Final","2.3.0.Final","2.2.0.FINAL","2.1.0.FINAL","2.1.0.CR1","2.0.0.FINAL","2.0.0.FINAL.EPP43CP05","2.0.0.CR1","2.0.0.BETA","2.0.0.ALPHA","1.0.0.CR3","1.0.0.CR2","1.0.0.CR1","1.0.0.B6","1.0.0.B5","1.0.0.B4","1.0.0.B3","1.0.0.B2"]},{"artifactId":"richfaces-simpleapp-archetype","groupId":"org.jboss.portletbridge.archetypes","versions":["3.3.4.Final","3.3.3.Final","3.3.2.Final","3.3.1.Final","3.3.0.Final","3.3.0.CR1","3.3.0.Beta2","3.3.0.Beta1","3.3.0.Alpha3","3.3.0.Alpha2","3.3.0.Alpha1","3.2.1.Final","3.2.0.Final","3.2.0.CR1","3.2.0.Beta2","3.2.0.Beta1","3.2.0.Alpha2","3.2.0.Alpha1","3.1.2.Final","3.1.1.Final","3.1.0.Final"]},{"artifactId":"seam-basic","groupId":"org.jboss.portletbridge.archetypes","versions":["2.2.0-CR01","2.3.1.Final","2.3.0.Final","2.2.0.FINAL","2.1.0.FINAL","2.1.0.CR1","2.0.0.FINAL","2.0.0.FINAL.EPP43CP05","2.0.0.CR1","2.0.0.BETA","2.0.0.ALPHA","1.0.0.CR3","1.0.0.CR2","1.0.0.CR1","1.0.0.B6","1.0.0.B5","1.0.0.B4"]},{"artifactId":"jboss-reddeer-archetype","groupId":"org.jboss.reddeer","versions":["0.7.0","0.6.0","1.2.1.Final","1.2.0.Final","1.1.0.Final","1.0.2.Final","1.0.1.Final","1.0.0.Final","0.8.0.Final"],"description":"Red Deer Archetype"},{"artifactId":"jboss-html5-mobile-archetype","groupId":"org.jboss.spec.archetypes","versions":["7.0.2.CR2"],"description":"An archetype that generates a Java EE 6 application using HTML5, and JAX-RS to support both desktop and mobile web browsers"},{"artifactId":"jboss-javaee6-ear-webapp","groupId":"org.jboss.spec.archetypes","versions":["7.0.2.CR1"],"description":"An archetype that generates a starter Java EE 6 webapp project for JBoss AS 7. The project is an EAR, with an EJB-JAR and WAR"},{"artifactId":"jboss-javaee6-webapp","groupId":"org.jboss.spec.archetypes","versions":["7.0.2.CR1","7.0.0.Final","7.0.0.CR1"],"description":"An archetype that generates a starter Java EE 6 webapp project for JBoss AS 7"},{"artifactId":"jboss-javaee6-webapp-archetype","groupId":"org.jboss.spec.archetypes","versions":["7.1.3.Final","7.1.3.CR9","7.1.3.CR8","7.1.3.CR7","7.1.3.CR6","7.1.3.CR5","7.1.3.CR4","7.1.3.CR3","7.1.3.CR2","7.1.3.CR1","7.1.2.Final","7.1.2.CR2","7.1.2.CR1","7.1.1.Final","7.1.1.CR1","7.1.1.Beta3","7.1.1.Beta2","7.1.1.Beta1","7.0.2.CR2"],"description":"An archetype that generates a starter Java EE 6 webapp project for JBoss AS 7.1 (by default) or EAP 6 (if the \"enterprise\" property is true)"},{"artifactId":"jboss-javaee6-webapp-archetype-blank","groupId":"org.jboss.spec.archetypes","versions":["7.0.2.CR2"],"description":"An archetype that generates a starter Java EE 6 webapp project for JBoss AS 7 (by default) or EAP 6 (if the \"enterprise\" property is true)"},{"artifactId":"jboss-javaee6-webapp-blank-archetype","groupId":"org.jboss.spec.archetypes","versions":["7.1.3.Final","7.1.3.CR9","7.1.3.CR8","7.1.3.CR7","7.1.3.CR6","7.1.3.CR5","7.1.3.CR4","7.1.3.CR3","7.1.3.CR2","7.1.3.CR1","7.1.2.Final","7.1.2.CR2","7.1.2.CR1","7.1.1.Final","7.1.1.CR1","7.1.1.Beta3","7.1.1.Beta2","7.1.1.Beta1"],"description":"An archetype that generates a starter Java EE 6 webapp project for JBoss AS 7.1 (by default) or EAP 6 (if the \"enterprise\" property is true)"},{"artifactId":"jboss-javaee6-webapp-ear-archetype","groupId":"org.jboss.spec.archetypes","versions":["7.1.3.Final","7.1.3.CR9","7.1.3.CR8","7.1.3.CR7","7.1.3.CR6","7.1.3.CR5","7.1.3.CR4","7.1.3.CR3","7.1.3.CR2","7.1.3.CR1","7.1.2.Final","7.1.2.CR2","7.1.2.CR1","7.1.1.Final","7.1.1.CR1","7.1.1.Beta3","7.1.1.Beta2","7.1.1.Beta1","7.0.2.CR2"],"description":"An archetype that generates a starter Java EE 6 webapp project for JBoss AS 7.1 (by default) or EAP 6 (if the \"enterprise\" property is true). The project is an EAR, with an EJB-JAR and WAR"},{"artifactId":"jboss-javaee6-webapp-ear-archetype-blank","groupId":"org.jboss.spec.archetypes","versions":["7.0.2.CR2"],"description":"An archetype that generates a starter Java EE 6 webapp project for JBoss AS 7 (by default) or EAP 6 (if the \"enterprise\" property is true). The project is an EAR, with an EJB-JAR and WAR"},{"artifactId":"jboss-javaee6-webapp-ear-blank-archetype","groupId":"org.jboss.spec.archetypes","versions":["7.1.3.Final","7.1.3.CR9","7.1.3.CR8","7.1.3.CR7","7.1.3.CR6","7.1.3.CR5","7.1.3.CR4","7.1.3.CR3","7.1.3.CR2","7.1.3.CR1","7.1.2.Final","7.1.2.CR2","7.1.2.CR1","7.1.1.Final","7.1.1.CR1","7.1.1.Beta3","7.1.1.Beta2","7.1.1.Beta1"],"description":"An archetype that generates a starter Java EE 6 webapp project for JBoss AS 7.1 (by default) or EAP 6 (if the \"enterprise\" property is true). The project is an EAR, with an EJB-JAR and WAR"},{"artifactId":"jboss-spring-mvc-archetype","groupId":"org.jboss.spring.archetypes","versions":["1.0.3.Final","1.0.2.Final","1.0.0.Final"],"description":"An archetype that generates a starter Spring MVC application with Java EE persistence settings (server bootstrapped JPA, JTA transaction management) for JBoss AS7"},{"artifactId":"spring-mvc-webapp","groupId":"org.jboss.spring.archetypes","versions":["1.0.0.CR8","1.0.0.CR7","1.0.0.CR6","1.0.0.CR5","1.0.0.CR4","1.0.0.CR3","1.0.0.CR2","1.0.0.CR1"],"description":"An archetype that generates a starter Spring MVC application with Java EE persistence settings (server bootstrapped JPA, JTA transaction management) for JBoss AS7"},{"artifactId":"jboss-javaee6-webapp","groupId":"org.jboss.weld.archetypes","versions":["1.0.1.CR2","1.0.1.CR1","1.0.1.Beta3","1.0.1.Beta2","1.0.1.Beta1"],"description":"An archetype that generates a starter Java EE 6 webapp project"},{"artifactId":"jboss-jsf-weld-servlet-webapp","groupId":"org.jboss.weld.archetypes","versions":["1.0.1.Beta1"],"description":"An archetype that generates a starter JSF webapp project with CDI capabilities for Servlet containers"},{"artifactId":"weld-jsf-jee","groupId":"org.jboss.weld.archetypes","versions":["1.0.0-BETA1"],"description":"Weld archetype for creating a Java EE 6 application using JSF 2.0, CDI 1.0, EJB 3.1 and JPA 2.0 (persistence unit included)"},{"artifactId":"weld-jsf-jee-minimal","groupId":"org.jboss.weld.archetypes","versions":["1.0.0-BETA1"],"description":"Weld archetype for creating a minimal Java EE 6 application using JSF 2.0, CDI 1.0 and EJB 3.1 (persistence unit not included)"},{"artifactId":"weld-jsf-servlet-minimal","groupId":"org.jboss.weld.archetypes","versions":["1.0.0-BETA1"],"description":"Weld archetype for creating an application using JSF 2.0 and CDI 1.0 for Servlet Containers (Tomcat 6 / Jetty 6)"},{"artifactId":"jaxws-codefirst","groupId":"org.jboss.ws.plugins.archetypes","versions":["1.2.0.Final","1.1.1.Final","1.1.0.Final","1.1.0.Beta1","1.0.0.Beta1"],"description":"Creates a project for developing a Web Service starting from Java code and using JBossWS"},{"artifactId":"jbpm-console-ng-module-archetype","groupId":"org.jbpm","versions":["6.1.0.Beta2","6.1.0.Beta1","6.0.1.Final","6.0.0.Final","6.0.0.CR5","6.0.0.CR4","6.0.0.CR4-Pre1","6.0.0.CR3","6.0.0.CR2","6.0.0.CR1","6.0.0.Beta5","6.0.0.Beta4","6.0.0.Beta3","6.0.0.Beta2","6.0.0.Beta1","6.0.0.Alpha9","6.0.0.Alpha7"],"description":"jBPM Console NG Module Archetype"},{"artifactId":"jbpm-workitems-archetype","groupId":"org.jbpm","versions":["7.9.0.Final","7.8.0.Final","7.73.0.Final","7.72.0.Final","7.71.0.Final","7.70.0.Final","7.7.0.Final","7.69.0.Final","7.68.0.Final","7.67.0.Final","7.66.0.Final","7.65.0.Final","7.64.0.Final","7.63.0.Final","7.62.0.Final","7.61.0.Final","7.60.0.Final","7.6.0.t022","7.6.0.Final","7.59.0.Final","7.58.0.Final","7.57.0.Final","7.56.0.Final","7.55.0.Final","7.54.0.Final","7.53.0.Final","7.52.0.Final","7.51.0.Final","7.50.0.Final","7.5.0.t018","7.5.0.Final","7.49.0.Final","7.48.0.Final","7.47.0.Final","7.46.0.t20201030","7.46.0.Final","7.45.0.t20201014","7.45.0.t20201009","7.45.0.Final","7.44.0.Final","7.43.1.Final","7.43.0.Final","7.42.0.Final","7.41.0.t20200723","7.41.0.Final","7.40.0.Final","7.40.0.20200703","7.4.1.Final","7.4.0.Final","7.39.0.Final","7.38.0.Final","7.37.0.Final","7.36.1.Final","7.36.0.Final","7.35.0.Final","7.34.0.Final","7.33.0.Final","7.32.0.Final","7.31.0.Final","7.30.0.Final","7.3.0.Final","7.29.0.Final","7.28.0.Final","7.27.0.Final","7.26.0.Final","7.25.0.Final","7.24.0.t043","7.24.0.Final","7.23.0.Final","7.22.0.t042","7.22.0.Final","7.21.0.Final","7.20.0.Final","7.19.0.Final","7.18.0.Final","7.17.0.Final","7.16.0.Final","7.15.0.Final","7.14.0.Final","7.13.0.Final","7.12.0.Final","7.11.0.Final","7.10.0.Final"]},{"artifactId":"jbpm-workitems-repository-archetype","groupId":"org.jbpm","versions":["7.73.0.Final","7.72.0.Final","7.71.0.Final","7.70.0.Final","7.69.0.Final","7.68.0.Final","7.67.0.Final","7.66.0.Final","7.65.0.Final","7.64.0.Final","7.63.0.Final","7.62.0.Final","7.61.0.Final","7.60.0.Final","7.59.0.Final","7.58.0.Final","7.57.0.Final","7.56.0.Final","7.55.0.Final","7.54.0.Final","7.53.0.Final","7.52.0.Final","7.51.0.Final","7.50.0.Final","7.49.0.Final","7.48.0.Final","7.47.0.Final","7.46.0.t20201030","7.46.0.Final","7.45.0.t20201014","7.45.0.t20201009","7.45.0.Final","7.44.0.Final","7.43.1.Final","7.43.0.Final","7.42.0.Final"]},{"artifactId":"jbundle-project-archetype","groupId":"org.jbundle.app.tools","versions":["1.0.10","1.0.9","1.0.6","1.0.3","1.0.2","1.0.1"],"description":"jbundle project archetype"},{"artifactId":"org.jbundle.config.archetype","groupId":"org.jbundle.config","versions":["0.7.8","0.7.7"]},{"artifactId":"jbundle-util-webapp-cgi-archetype","groupId":"org.jbundle.util.webapp","versions":["0.7.2"]},{"artifactId":"jbundle-util-webapp-files-archetype","groupId":"org.jbundle.util.webapp","versions":["0.7.2"]},{"artifactId":"jbundle-util-webapp-proxy-archetype","groupId":"org.jbundle.util.webapp","versions":["0.7.2"]},{"artifactId":"jbundle-util-webapp-redirect-archetype","groupId":"org.jbundle.util.webapp","versions":["0.7.2"]},{"artifactId":"jbundle-util-webapp-upload-archetype","groupId":"org.jbundle.util.webapp","versions":["0.7.2"]},{"artifactId":"jbundle-util-webapp-webdav-archetype","groupId":"org.jbundle.util.webapp","versions":["0.7.2"]},{"artifactId":"jbundle-util-webapp-website-archetype","groupId":"org.jbundle.util.webapp","versions":["0.7.2"]},{"artifactId":"jbundle-util-webapp-webstart-archetype","groupId":"org.jbundle.util.webapp","versions":["0.7.2"]},{"artifactId":"jbundle-util-webapp-webstart-reactor-archetype","groupId":"org.jbundle.util.webapp","versions":["1.0.1","1.0.0","0.9.4","0.9.1"]},{"artifactId":"org.jbundle.util.webapp.cgi-archetype","groupId":"org.jbundle.util.webapp","versions":["1.0.1","1.0.0","0.9.4","0.9.3","0.9.1"]},{"artifactId":"org.jbundle.util.webapp.files-archetype","groupId":"org.jbundle.util.webapp","versions":["1.0.1","1.0.0","0.9.4","0.9.3","0.9.1"]},{"artifactId":"org.jbundle.util.webapp.proxy-archetype","groupId":"org.jbundle.util.webapp","versions":["1.0.1","1.0.0","0.9.4","0.9.3","0.9.1"]},{"artifactId":"org.jbundle.util.webapp.redirect-archetype","groupId":"org.jbundle.util.webapp","versions":["1.0.1","1.0.0","0.9.4","0.9.3","0.9.1"]},{"artifactId":"org.jbundle.util.webapp.upload-archetype","groupId":"org.jbundle.util.webapp","versions":["1.0.1","1.0.0","0.9.4","0.9.3","0.9.1"]},{"artifactId":"org.jbundle.util.webapp.webdav-archetype","groupId":"org.jbundle.util.webapp","versions":["1.0.1","1.0.0","0.9.4","0.9.3","0.9.1"]},{"artifactId":"org.jbundle.util.webapp.website-archetype","groupId":"org.jbundle.util.webapp","versions":["1.0.1","1.0.0","0.9.4","0.9.3","0.9.1"]},{"artifactId":"jclouds-compute-service-archetype","groupId":"org.jclouds","versions":["1.6.0","1.6.0-rc.5","1.6.0-rc.4","1.6.0-rc.3","1.6.0-rc.2","1.6.0-rc.1","1.6.0-alpha.4","1.6.0-alpha.3","1.6.0-alpha.2","1.6.0-alpha.1","1.5.10","1.5.9","1.5.8","1.5.7","1.5.6","1.5.5","1.5.4","1.5.3","1.5.2","1.5.1","1.5.0","1.5.0-rc.1","1.5.0-beta.9","1.5.0-beta.8","1.5.0-beta.7","1.5.0-beta.6","1.5.0-beta.5","1.5.0-beta.4","1.5.0-beta.3","1.5.0-beta.2","1.5.0-beta.1","1.5.0-beta.11","1.5.0-beta.10","1.5.0-alpha.6","1.5.0-alpha.5","1.5.0-alpha.4","1.5.0-alpha.3","1.5.0-alpha.2","1.5.0-alpha.1","1.4.2","1.4.1","1.4.0","1.4.0-rc.3","1.4.0-rc.2","1.4.0-rc.1","1.3.2","1.3.1","1.3.0","1.3.0-rc-2","1.3.0-rc-1","1.2.2","1.2.1","1.2.0","1.1.1","1.1.0","1.0.0","1.0-beta-9","1.0-beta-9d","1.0-beta-9c","1.0-beta-9b","1.0-beta-9a","1.0-beta-8","1.0-beta-7"],"description":"Maven archetype for a provider of a Compute service"},{"artifactId":"jclouds-rest-client-archetype","groupId":"org.jclouds","versions":["1.6.0","1.6.0-rc.5","1.6.0-rc.4","1.6.0-rc.3","1.6.0-rc.2","1.6.0-rc.1","1.6.0-alpha.4","1.6.0-alpha.3","1.6.0-alpha.2","1.6.0-alpha.1","1.5.10","1.5.9","1.5.8","1.5.7","1.5.6","1.5.5","1.5.4","1.5.3","1.5.2","1.5.1","1.5.0","1.5.0-rc.1","1.5.0-beta.9","1.5.0-beta.8","1.5.0-beta.7","1.5.0-beta.6","1.5.0-beta.5","1.5.0-beta.4","1.5.0-beta.3","1.5.0-beta.2","1.5.0-beta.1","1.5.0-beta.11","1.5.0-beta.10","1.5.0-alpha.6","1.5.0-alpha.5","1.5.0-alpha.4","1.5.0-alpha.3","1.5.0-alpha.2","1.5.0-alpha.1","1.4.2","1.4.1","1.4.0","1.4.0-rc.3","1.4.0-rc.2","1.4.0-rc.1","1.3.2","1.3.1","1.3.0","1.3.0-rc-2","1.3.0-rc-1","1.2.2","1.2.1","1.2.0","1.1.1","1.1.0","1.0.0","1.0-beta-9","1.0-beta-9d","1.0-beta-9c","1.0-beta-9b","1.0-beta-9a","1.0-beta-8","1.0-beta-7"],"description":"Maven archetype for a provider of a rest-speaking service"},{"artifactId":"easy-batch-archetype","groupId":"org.jeasy","versions":["7.0.2","7.0.1","7.0.0","6.1.0","6.0.0"],"description":"Easy Batch maven quick start archetype"},{"artifactId":"easy-rules-archetype","groupId":"org.jeasy","versions":["4.1.0","4.0.0","3.4.0","3.3.0","3.2.0","3.1.0","3.0.0"],"description":"Maven archetype to create a skeleton project"},{"artifactId":"jeecg-boot-gen","groupId":"org.jeecgframework.archetype","versions":["2.4.2","2.0","1.1","1.0"],"description":"Jeecg-Boot 骨架快速生成"},{"artifactId":"jeecg-cloud-gen","groupId":"org.jeecgframework.archetype","versions":["3.4.0","3.0.1","3.0","2.4.3","2.4","2.0","1.0.0"],"description":"JeecgBoot 微服务项目骨架生成"},{"artifactId":"jeewx-boot-gen","groupId":"org.jeecgframework.archetype","versions":["1.0"],"description":"JeewxBoot 骨架快速生成"},{"artifactId":"jeesl-maven","groupId":"org.jeesl","versions":["0.2.9"]},{"artifactId":"kotlin-archetype-js","groupId":"org.jetbrains.kotlin","versions":["1.8.20-Beta","1.8.10","1.8.0","1.8.0-RC","1.8.0-RC2","1.8.0-Beta","1.7.22","1.7.21","1.7.20","1.7.20-RC","1.7.20-Beta","1.7.10","1.7.0","1.7.0-RC","1.7.0-RC2","1.7.0-Beta","1.6.21","1.6.20","1.6.20-RC","1.6.20-RC2","1.6.20-M1","1.6.10","1.6.10-RC","1.6.0","1.6.0-RC","1.6.0-RC2","1.6.0-M1","1.5.32","1.5.31","1.5.30","1.5.30-RC","1.5.30-M1","1.5.21","1.5.20","1.5.20-RC","1.5.20-M1","1.5.10","1.5.0","1.5.0-RC","1.5.0-M2","1.5.0-M1","1.4.32","1.4.31","1.4.30","1.4.30-RC","1.4.30-M1","1.4.21-2","1.4.21","1.4.20","1.4.20-RC","1.4.20-M2","1.4.20-M1","1.4.10","1.4.0","1.4.0-rc","1.3.72","1.3.71","1.3.70","1.3.61","1.3.60","1.3.50","1.3.41","1.3.40","1.3.31","1.3.30","1.3.21","1.3.20","1.3.11","1.3.10","1.3.0","1.3.0-rc-198","1.3.0-rc-190","1.2.71","1.2.70","1.2.61","1.2.60","1.2.51","1.2.50","1.2.41","1.2.40","1.2.31","1.2.30","1.2.21","1.2.20","1.2.10","1.2.0","1.1.61","1.1.60","1.1.51","1.1.50","1.1.4-3","1.1.4-2","1.1.4","1.1.3-2","1.1.3","1.1.2-5","1.1.2-4","1.1.2-3","1.1.2-2","1.1.2","1.1.1","1.1.0","1.0.7","1.0.6","1.0.5-3","1.0.5-2","1.0.5","1.0.4","1.0.3","1.0.2-1","1.0.2"],"description":"Kotlin single-module JavaScript project archetype"},{"artifactId":"kotlin-archetype-jvm","groupId":"org.jetbrains.kotlin","versions":["1.8.20-Beta","1.8.10","1.8.0","1.8.0-RC","1.8.0-RC2","1.8.0-Beta","1.7.22","1.7.21","1.7.20","1.7.20-RC","1.7.20-Beta","1.7.10","1.7.0","1.7.0-RC","1.7.0-RC2","1.7.0-Beta","1.6.21","1.6.20","1.6.20-RC","1.6.20-RC2","1.6.20-M1","1.6.10","1.6.10-RC","1.6.0","1.6.0-RC","1.6.0-RC2","1.6.0-M1","1.5.32","1.5.31","1.5.30","1.5.30-RC","1.5.30-M1","1.5.21","1.5.20","1.5.20-RC","1.5.20-M1","1.5.10","1.5.0","1.5.0-RC","1.5.0-M2","1.5.0-M1","1.4.32","1.4.31","1.4.30","1.4.30-RC","1.4.30-M1","1.4.21-2","1.4.21","1.4.20","1.4.20-RC","1.4.20-M2","1.4.20-M1","1.4.10","1.4.0","1.4.0-rc","1.3.72","1.3.71","1.3.70","1.3.61","1.3.60","1.3.50","1.3.41","1.3.40","1.3.31","1.3.30","1.3.21","1.3.20","1.3.11","1.3.10","1.3.0","1.3.0-rc-198","1.3.0-rc-190","1.2.71","1.2.70","1.2.61","1.2.60","1.2.51","1.2.50","1.2.41","1.2.40","1.2.31","1.2.30","1.2.21","1.2.20","1.2.10","1.2.0","1.1.61","1.1.60","1.1.51","1.1.50","1.1.4-3","1.1.4-2","1.1.4","1.1.3-2","1.1.3","1.1.2-5","1.1.2-4","1.1.2-3","1.1.2-2","1.1.2","1.1.1","1.1.0","1.0.7","1.0.6","1.0.5-3","1.0.5-2","1.0.5","1.0.4","1.0.3","1.0.2-1","1.0.2"],"description":"Kotlin single-module JVM project archetype"},{"artifactId":"maven-archetype-jgrapht","groupId":"org.jgrapht.archetypes","versions":["1.2.0"],"description":"An archetype which contains a sample JGraphT project"},{"artifactId":"jibx-ota-osgi-archetype","groupId":"org.jibx.ota.osgi","versions":["1.2.2-beta-1"]},{"artifactId":"opentravel-ws-archetype","groupId":"org.jibx.schema.config","versions":["1.0.3"]},{"artifactId":"opentravel-archetype","groupId":"org.jibx.schema.org.opentravel._2010B","versions":["1.2.1","1.2.0","1.1.4","1.1.0","1.0.9","1.0.6","1.0.4","1.0.0"]},{"artifactId":"opentravel-archetype","groupId":"org.jibx.schema.org.opentravel._2011A","versions":["1.1.4","1.1.0","1.0.9","1.0.6","1.0.4","1.0.1"]},{"artifactId":"opentravel-archetype","groupId":"org.jibx.schema.org.opentravel._2011B","versions":["1.1.4","1.1.0","1.0.9","1.0.6","1.0.4","1.0.3","1.0.2"]},{"artifactId":"opentravel-touractivity-ws-archetype","groupId":"org.jibx.schema.org.opentravel._2011B.ws","versions":["1.0.3"]},{"artifactId":"opentravel-touractivity-ws-service-archetype","groupId":"org.jibx.schema.org.opentravel._2011B.ws","versions":["1.1.4","1.1.0","1.0.9","1.0.6","1.0.4","1.0.3"]},{"artifactId":"opentravel-archetype","groupId":"org.jibx.schema.org.opentravel._2012A","versions":["1.1.4","1.1.0","1.0.9","1.0.8","1.0.7","1.0.6"]},{"artifactId":"opentravel-touractivity-ws-service-archetype","groupId":"org.jibx.schema.org.opentravel._2012A.ws","versions":["1.1.4","1.1.0","1.0.9","1.0.8","1.0.7","1.0.6"]},{"artifactId":"opentravel-archetype","groupId":"org.jibx.schema.org.opentravel._2012B","versions":["1.1.4","1.1.0","1.0.9"]},{"artifactId":"opentravel-touractivity-ws-service-archetype","groupId":"org.jibx.schema.org.opentravel._2012B.ws","versions":["1.1.4","1.1.0","1.0.9"]},{"artifactId":"opentravel-archetype","groupId":"org.jibx.schema.org.opentravel._2013A","versions":["1.2.1","1.2.0","1.1.4","1.1.1"]},{"artifactId":"opentravel-touractivity-ws-service-archetype","groupId":"org.jibx.schema.org.opentravel._2013A.ws","versions":["1.2.1","1.2.0","1.1.4","1.1.1"]},{"artifactId":"opentravel-archetype","groupId":"org.jibx.schema.org.opentravel._2013B","versions":["1.2.1","1.2.0","1.1.4","1.1.2"]},{"artifactId":"opentravel-touractivity-ws-service-archetype","groupId":"org.jibx.schema.org.opentravel._2013B.ws","versions":["1.2.1","1.2.0","1.1.4","1.1.2"]},{"artifactId":"opentravel-archetype","groupId":"org.jibx.schema.org.opentravel._2014A","versions":["1.2.1","1.2.0","1.1.4","1.1.3"]},{"artifactId":"opentravel-touractivity-ws-service-archetype","groupId":"org.jibx.schema.org.opentravel._2014A.ws","versions":["1.2.1","1.2.0","1.1.4","1.1.3"]},{"artifactId":"opentravel-archetype","groupId":"org.jibx.schema.org.opentravel._2014B","versions":["1.2.1","1.2.0","1.1.4"]},{"artifactId":"opentravel-touractivity-ws-service-archetype","groupId":"org.jibx.schema.org.opentravel._2014B.ws","versions":["1.2.1","1.2.0","1.1.4"]},{"artifactId":"jini-service-archetype","groupId":"org.jini.maven-jini-plugin","versions":["2.0"],"description":"Archetype for Jini service project creation"},{"artifactId":"jnario-archetype","groupId":"org.jnario","versions":["1.0.0","0.7.5","0.7.4","0.7.3","0.7.2","0.7.1","0.7.0","0.6.1","0.6.0","0.5.1","0.5.0","0.4.3","0.4.2","0.4.1","0.4.0"],"description":"Maven archetype for setting up a jnario project."},{"artifactId":"jooby-archetype","groupId":"org.jooby","versions":["1.6.9","1.6.8","1.6.7","1.6.6","1.6.5","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.5.1","1.5.0","1.4.1","1.4.0","1.3.0","1.2.3","1.2.2","1.2.1","1.2.0","1.1.3","1.1.2","1.1.1","1.1.0","1.0.3","1.0.2","1.0.1","1.0.0","0.16.0","0.15.1","0.15.0","0.14.0","0.13.1","0.13.0","0.12.0","0.11.2","0.11.1","0.11.0","0.10.0","0.9.2","0.9.1","0.9.0","0.8.2","0.8.1","0.8.0","0.7.0","0.6.4","0.6.3","0.6.2","0.6.1","0.6.0","0.5.3","0.5.2","0.5.1","0.5.0","0.4.2","0.4.1","0.4.0","0.3.0","0.2.1","0.2.0","0.1.0","1.0.0.CR8","1.0.0.CR7","1.0.0.CR6","1.0.0.CR5","1.0.0.CR4","1.0.0.CR3","1.0.0.CR2","1.0.0.CR1","0.4.2.1"]},{"artifactId":"jorm-unit-sample-archetype","groupId":"org.jorm-unit","versions":["1.0.1","1.0.0"],"description":"Archetype that creates a sample project with jorm-unit sample test"},{"artifactId":"archetype","groupId":"org.jrebirth.af","versions":["8.6.0","8.5.0","8.0.5","8.0.4","8.0.3","8.0.2","8.0.1","8.0.0","7.7.5","7.7.4","7.7.3","7.7.2","7.7.1","7.7.0"],"description":"JRebirth Archetype used to build a new fresh application"},{"artifactId":"zerocode-maven-archetype","groupId":"org.jsmart","versions":["1.3.31","1.3.30","1.3.29","1.3.28","1.3.27","1.3.26","1.3.25","1.3.24","1.3.23","1.3.22","1.3.21","1.3.20"],"description":"Zerocode Automated-Testing Simple Maven Archetype"},{"artifactId":"juzu-archetype","groupId":"org.juzu","versions":["1.2.0","1.2.0-RC01","1.2.0-M06","1.2.0-M05","1.2.0-M04","1.2.0-M03","1.2.0-M02","1.2.0-M01","1.1.3","1.1.2","1.1.1","1.1.1-RC01","1.1.1-M01","1.1.0","1.1.0-M1","1.0.0","1.0.0-cr2","1.0.0-cr1","1.0.0-beta3","1.0.0-beta2","1.0.0-beta1","0.8.0","0.8.0-beta7","0.8.0-beta6","0.8.0-beta5","0.8.0-beta4","0.8.0-beta3","0.8.0-beta2","0.8.0-beta1","0.7.0","0.7.0-cr1","0.7.0-beta9","0.7.0-beta8","0.7.0-beta7","0.7.0-beta6","0.7.0-beta5","0.7.0-beta4","0.7.0-beta3","0.7.0-beta2","0.7.0-beta26","0.7.0-beta25","0.7.0-beta24","0.7.0-beta23","0.7.0-beta22","0.7.0-beta21","0.7.0-beta20","0.7.0-beta1","0.7.0-beta19","0.7.0-beta18","0.7.0-beta17","0.7.0-beta16","0.7.0-beta15","0.7.0-beta14","0.7.0-beta13","0.7.0-beta12","0.7.0-beta11","0.7.0-beta10","0.6.2","0.6.1","0.6.0","0.6.0-cr4","0.6.0-cr3","0.6.0-cr2","0.6.0-cr1","0.6.0-beta9","0.6.0-beta8","0.6.0-beta7","0.6.0-beta6","0.6.0-beta5","0.6.0-beta4","0.6.0-beta3","0.6.0-beta2","0.6.0-beta1","0.6.0-beta18","0.6.0-beta17","0.6.0-beta16","0.6.0-beta15","0.6.0-beta14","0.6.0-beta13","0.6.0-beta12","0.6.0-beta11","0.6.0-beta10","0.5.3","0.5.2","0.5.1","0.5.0","0.4.4","0.4.3","0.4.2"]},{"artifactId":"maven-hpi-plugin","groupId":"org.jvnet.hudson.tools","versions":["3.0.1","3.0.0","2.1.1","2.1.0","2.0.1","2.0.0","1.398","1.397","1.60","1.59","1.58","1.57","1.56","1.55","1.54","1.53","1.52","1.51","1.50","1.49","1.48","1.47","1.46","1.45","1.44","1.43","1.42","1.41","1.40","1.39","1.38","1.37","1.36","1.35","1.34","1.33","1.32","1.31","1.30","1.29","1.28","1.27","1.26","1.25","1.24","1.23","1.22","1.21","1.20","1.19","1.18","1.17","1.16","1.14","1.13","1.11","1.10","1.9","1.8","1.7","1.6","1.5","1.4","1.3","1.2"],"description":"Support for developing Hudson plugins with Apache Maven."},{"artifactId":"storm-topology-archetype","groupId":"org.keedio.storm.topology.maven","versions":["0.1.1","0.1.0"],"description":"Maven archetype to quickly generate storm topology projects."},{"artifactId":"kie-drools-archetype","groupId":"org.kie","versions":["8.27.0.Beta","8.26.0.Beta","8.25.0.Beta","8.24.1.Beta","8.24.0.Beta","8.23.0.Beta","8.22.1.Beta","8.22.0.Beta","8.21.0.Beta","8.20.0.Beta","8.19.0.Beta","8.18.0.Beta","8.17.0.Beta","8.16.1.Beta","8.16.0.Beta","8.15.0.Beta","8.14.1.Beta","8.14.0.Beta","8.13.0.Beta","7.9.0.Final","7.8.0.Final","7.73.0.Final","7.72.0.Final","7.71.0.Final","7.70.0.Final","7.7.0.Final","7.69.0.Final","7.68.0.Final","7.67.0.Final","7.66.0.Final","7.65.0.Final","7.64.0.Final","7.63.0.t20211129","7.63.0.Final","7.62.0.Final","7.61.0.Final","7.60.0.Final","7.6.0.t022","7.6.0.Final","7.59.0.Final","7.59.0.Beta1","7.58.0.Final","7.58.0.Beta1","7.57.0.Final","7.57.0.Beta1","7.56.0.Final","7.55.0.Final","7.55.0.Beta1","7.54.0.Final","7.54.0.Beta1","7.53.1.Final","7.53.0.Final","7.52.0.t20210322","7.52.0.Final","7.52.0.Beta1","7.51.0.t20210303","7.51.0.Final","7.50.0.t20210209","7.50.0.Final","7.5.0.t018","7.5.0.Final","7.49.0.t20210118","7.49.0.Final","7.48.0.Final","7.47.0.Final","7.46.0.t20201030","7.46.0.Final","7.46.0.Beta1","7.45.0.t20201014","7.45.0.t20201009","7.45.0.Final","7.44.0.Final","7.43.1.Final","7.43.0.t20200824","7.43.0.Final","7.42.0.Final","7.41.0.t20200723","7.41.0.Final","7.40.0.Final","7.40.0.20200703","7.4.1.Final","7.4.0.Final","7.39.0.Final","7.39.0.CR1","7.38.0.Final","7.37.0.Final","7.36.1.Final","7.36.0.Final","7.36.0.20200331","7.36.0.20200330","7.35.0.Final","7.34.0.Final","7.33.0.Final","7.32.0.k20191223","7.32.0.Final","7.31.0.Final","7.30.0.Final","7.3.0.Final","7.29.0.Final","7.28.0.Final","7.27.0.Final","7.26.0.Final","7.25.0.Final","7.24.0.t043","7.24.0.Final","7.23.0.Final","7.22.0.t042","7.22.0.Final","7.21.0.Final","7.20.0.Final","7.2.0.Final","7.19.0.Final","7.18.0.Final","7.17.0.Final","7.16.0.Final","7.15.0.Final","7.14.0.Final","7.13.0.Final","7.12.0.Final","7.11.0.Final","7.10.0.Final","7.1.0.Final","7.1.0.Beta3","7.1.0.Beta2","7.1.0.Beta1","7.0.0.Final","7.0.0.CR3","7.0.0.CR2","7.0.0.CR1","7.0.0.Beta8","7.0.0.Beta7","7.0.0.Beta6","7.0.0.Beta5","7.0.0.Beta4","7.0.0.Beta3","7.0.0.Beta2","7.0.0.Beta1","6.5.0.Final","6.5.0.CR2","6.5.0.CR1","6.5.0.Beta1","6.4.0.Final","6.4.0.CR2","6.4.0.CR1","6.4.0.Beta2","6.4.0.Beta1","6.3.0.Final","6.3.0.CR2","6.3.0.CR1","6.3.0.Beta2","6.3.0.Beta1","6.2.0.Final","6.2.0.CR4","6.2.0.CR3","6.2.0.CR2","6.2.0.CR1","6.2.0.Beta3"],"description":"A basic kjar template with Drools rule example, JUnit 4 and logging binding.\n Use property droolsVersion to specify which version of Drools to use in generated kjar.\n Use property exampleWithCEP for a CEP rule example and related JUnit test case.\n Use property pomEclipseCompatible for pom-plug-in settings for Eclipse (will setup org.eclipse.m2e lifecycle-mapping plug-in)."},{"artifactId":"kie-drools-dmn-archetype","groupId":"org.kie","versions":["8.35.0.Final","8.34.0.Final","8.33.0.Final","8.32.0.Final","8.31.1.Final","8.31.0.Final","8.30.0.Final","8.29.0.Final","8.28.0.Beta","8.27.0.Beta","8.26.0.Beta"],"description":"Drools DMN engine example.\n Use property version.drools to specify which version of Drools to use in a generated project."},{"artifactId":"kie-drools-exec-model-archetype","groupId":"org.kie","versions":["8.35.0.Final","8.34.0.Final","8.33.0.Final","8.32.0.Final","8.31.1.Final","8.31.0.Final","8.30.0.Final","8.29.0.Final","8.28.0.Beta","8.27.0.Beta","8.26.0.Beta","8.25.0.Beta","8.24.1.Beta","8.24.0.Beta"],"description":"Drools rule example with executable model and traditional (Drools 7) API and rule style.\n Use property droolsVersion to specify which version of Drools to use in a generated project."},{"artifactId":"kie-drools-exec-model-ruleunit-archetype","groupId":"org.kie","versions":["8.35.0.Final","8.34.0.Final","8.33.0.Final","8.32.0.Final","8.31.1.Final","8.31.0.Final","8.30.0.Final","8.29.0.Final","8.28.0.Beta","8.27.0.Beta","8.26.0.Beta","8.25.0.Beta","8.24.1.Beta","8.24.0.Beta"],"description":"Drools rule example with executable model and RuleUnit.\n Use property droolsVersion to specify which version of Drools to use in generated project."},{"artifactId":"kie-kjar-archetype","groupId":"org.kie","versions":["8.27.0.Beta","8.26.0.Beta","8.25.0.Beta","8.24.1.Beta","8.24.0.Beta","8.23.0.Beta","8.22.1.Beta","8.22.0.Beta","8.21.0.Beta","8.20.0.Beta","8.19.0.Beta","8.18.0.Beta","8.17.0.Beta","8.16.1.Beta","8.16.0.Beta","8.15.0.Beta","8.14.1.Beta","8.14.0.Beta","8.13.0.Beta","7.73.0.Final","7.72.0.Final","7.71.0.Final","7.70.0.Final","7.69.0.Final","7.68.0.Final","7.67.0.Final","7.66.0.Final","7.65.0.Final","7.64.0.Final","7.63.0.t20211129","7.63.0.Final","7.62.0.Final","7.61.0.Final","7.60.0.Final","7.59.0.Final","7.59.0.Beta1","7.58.0.Final","7.58.0.Beta1","7.57.0.Final","7.57.0.Beta1","7.56.0.Final","7.55.0.Final","7.55.0.Beta1","7.54.0.Final","7.54.0.Beta1","7.53.1.Final","7.53.0.Final","7.52.0.t20210322","7.52.0.Final","7.52.0.Beta1","7.51.0.t20210303","7.51.0.Final","7.50.0.t20210209","7.50.0.Final","7.49.0.t20210118","7.49.0.Final","7.48.0.Final","7.47.0.Final","7.46.0.t20201030","7.46.0.Final","7.46.0.Beta1","7.45.0.t20201014","7.45.0.t20201009","7.45.0.Final","7.44.0.Final","7.43.1.Final","7.43.0.t20200824","7.43.0.Final","7.42.0.Final","7.41.0.t20200723","7.41.0.Final","7.40.0.Final","7.40.0.20200703","7.39.0.Final","7.39.0.CR1","7.38.0.Final","7.37.0.Final","7.36.1.Final","7.36.0.Final","7.36.0.20200331","7.36.0.20200330","7.35.0.Final","7.34.0.Final","7.33.0.Final","7.32.0.k20191223","7.32.0.Final","7.31.0.Final","7.30.0.Final","7.29.0.Final","7.28.0.Final","7.27.0.Final","7.26.0.Final","7.25.0.Final","7.24.0.t043","7.24.0.Final","7.23.0.Final","7.22.0.t042","7.22.0.Final","7.21.0.Final","7.20.0.Final","7.19.0.Final","7.18.0.Final","7.17.0.Final","7.16.0.Final","7.15.0.Final","7.14.0.Final","7.13.0.Final","7.12.0.Final","7.11.0.Final","7.10.0.Final"]},{"artifactId":"kie-model-archetype","groupId":"org.kie","versions":["8.27.0.Beta","8.26.0.Beta","8.25.0.Beta","8.24.1.Beta","8.24.0.Beta","8.23.0.Beta","8.22.1.Beta","8.22.0.Beta","8.21.0.Beta","8.20.0.Beta","8.19.0.Beta","8.18.0.Beta","8.17.0.Beta","8.16.1.Beta","8.16.0.Beta","8.15.0.Beta","8.14.1.Beta","8.14.0.Beta","8.13.0.Beta","7.73.0.Final","7.72.0.Final","7.71.0.Final","7.70.0.Final","7.69.0.Final","7.68.0.Final","7.67.0.Final","7.66.0.Final","7.65.0.Final","7.64.0.Final","7.63.0.t20211129","7.63.0.Final","7.62.0.Final","7.61.0.Final","7.60.0.Final","7.59.0.Final","7.59.0.Beta1","7.58.0.Final","7.58.0.Beta1","7.57.0.Final","7.57.0.Beta1","7.56.0.Final","7.55.0.Final","7.55.0.Beta1","7.54.0.Final","7.54.0.Beta1","7.53.1.Final","7.53.0.Final","7.52.0.t20210322","7.52.0.Final","7.52.0.Beta1","7.51.0.t20210303","7.51.0.Final","7.50.0.t20210209","7.50.0.Final","7.49.0.t20210118","7.49.0.Final","7.48.0.Final","7.47.0.Final","7.46.0.t20201030","7.46.0.Final","7.46.0.Beta1","7.45.0.t20201014","7.45.0.t20201009","7.45.0.Final","7.44.0.Final","7.43.1.Final","7.43.0.t20200824","7.43.0.Final","7.42.0.Final","7.41.0.t20200723","7.41.0.Final","7.40.0.Final","7.40.0.20200703","7.39.0.Final","7.39.0.CR1","7.38.0.Final","7.37.0.Final","7.36.1.Final","7.36.0.Final","7.36.0.20200331","7.36.0.20200330","7.35.0.Final","7.34.0.Final","7.33.0.Final","7.32.0.k20191223","7.32.0.Final","7.31.0.Final","7.30.0.Final","7.29.0.Final","7.28.0.Final","7.27.0.Final","7.26.0.Final","7.25.0.Final","7.24.0.t043","7.24.0.Final","7.23.0.Final","7.22.0.t042","7.22.0.Final","7.21.0.Final","7.20.0.Final","7.19.0.Final","7.18.0.Final","7.17.0.Final","7.16.0.Final","7.15.0.Final","7.14.0.Final","7.13.0.Final","7.12.0.Final","7.11.0.Final"]},{"artifactId":"kie-pmml-models-archetype","groupId":"org.kie","versions":["8.24.1.Beta","8.24.0.Beta","8.23.0.Beta","8.22.1.Beta","8.22.0.Beta","8.21.0.Beta","8.20.0.Beta","8.19.0.Beta","8.18.0.Beta","8.17.0.Beta","8.16.1.Beta","8.16.0.Beta","8.15.0.Beta","8.14.1.Beta","8.14.0.Beta","8.13.0.Beta","7.73.0.Final","7.72.0.Final","7.71.0.Final","7.70.0.Final","7.69.0.Final","7.68.0.Final","7.67.0.Final","7.66.0.Final","7.65.0.Final","7.64.0.Final","7.63.0.t20211129","7.63.0.Final","7.62.0.Final","7.61.0.Final","7.60.0.Final","7.59.0.Final","7.59.0.Beta1","7.58.0.Final","7.58.0.Beta1","7.57.0.Final","7.57.0.Beta1","7.56.0.Final","7.55.0.Final","7.55.0.Beta1","7.54.0.Final","7.54.0.Beta1","7.53.1.Final","7.53.0.Final","7.52.0.t20210322","7.52.0.Final","7.52.0.Beta1","7.51.0.t20210303","7.51.0.Final","7.50.0.t20210209","7.50.0.Final","7.49.0.t20210118","7.49.0.Final","7.48.0.Final","7.47.0.Final","7.46.0.t20201030","7.46.0.Final","7.46.0.Beta1","7.45.0.t20201014","7.45.0.t20201009","7.45.0.Final","7.44.0.Final","7.43.1.Final","7.43.0.t20200824","7.43.0.Final","7.42.0.Final","7.41.0.t20200723","7.41.0.Final","7.40.0.Final","7.40.0.20200703"],"description":"Archetype for actual PMML model implementation"},{"artifactId":"kie-pmml-models-drools-archetype","groupId":"org.kie","versions":["8.24.1.Beta","8.24.0.Beta","8.23.0.Beta","8.22.1.Beta","8.22.0.Beta","8.21.0.Beta","8.20.0.Beta","8.19.0.Beta","8.18.0.Beta","8.17.0.Beta","8.16.1.Beta","8.16.0.Beta","8.15.0.Beta","8.14.1.Beta","8.14.0.Beta","8.13.0.Beta","7.73.0.Final","7.72.0.Final","7.71.0.Final","7.70.0.Final","7.69.0.Final","7.68.0.Final","7.67.0.Final","7.66.0.Final","7.65.0.Final","7.64.0.Final","7.63.0.t20211129","7.63.0.Final","7.62.0.Final","7.61.0.Final","7.60.0.Final","7.59.0.Final","7.59.0.Beta1","7.58.0.Final","7.58.0.Beta1","7.57.0.Final","7.57.0.Beta1","7.56.0.Final","7.55.0.Final","7.55.0.Beta1","7.54.0.Final","7.54.0.Beta1","7.53.1.Final","7.53.0.Final","7.52.0.t20210322","7.52.0.Final","7.52.0.Beta1","7.51.0.t20210303","7.51.0.Final","7.50.0.t20210209","7.50.0.Final","7.49.0.t20210118","7.49.0.Final","7.48.0.Final","7.47.0.Final","7.46.0.t20201030","7.46.0.Final","7.46.0.Beta1","7.45.0.t20201014","7.45.0.t20201009","7.45.0.Final","7.44.0.Final","7.43.1.Final","7.43.0.t20200824","7.43.0.Final","7.42.0.Final","7.41.0.t20200723","7.41.0.Final","7.40.0.Final","7.40.0.20200703"],"description":"Archetype for actual PMML model with Drools implementation"},{"artifactId":"kie-service-spring-boot-archetype","groupId":"org.kie","versions":["8.27.0.Beta","8.26.0.Beta","8.25.0.Beta","8.24.1.Beta","8.24.0.Beta","8.23.0.Beta","8.22.1.Beta","8.22.0.Beta","8.21.0.Beta","8.20.0.Beta","8.19.0.Beta","8.18.0.Beta","8.17.0.Beta","8.16.1.Beta","8.16.0.Beta","8.15.0.Beta","8.14.1.Beta","8.14.0.Beta","8.13.0.Beta","7.73.0.Final","7.72.0.Final","7.71.0.Final","7.70.0.Final","7.69.0.Final","7.68.0.Final","7.67.0.Final","7.66.0.Final","7.65.0.Final","7.64.0.Final","7.63.0.t20211129","7.63.0.Final","7.62.0.Final","7.61.0.Final","7.60.0.Final","7.59.0.Final","7.59.0.Beta1","7.58.0.Final","7.58.0.Beta1","7.57.0.Final","7.57.0.Beta1","7.56.0.Final","7.55.0.Final","7.55.0.Beta1","7.54.0.Final","7.54.0.Beta1","7.53.1.Final","7.53.0.Final","7.52.0.t20210322","7.52.0.Final","7.52.0.Beta1","7.51.0.t20210303","7.51.0.Final","7.50.0.t20210209","7.50.0.Final","7.49.0.t20210118","7.49.0.Final","7.48.0.Final","7.47.0.Final","7.46.0.t20201030","7.46.0.Final","7.46.0.Beta1","7.45.0.t20201014","7.45.0.t20201009","7.45.0.Final","7.44.0.Final","7.43.1.Final","7.43.0.t20200824","7.43.0.Final","7.42.0.Final","7.41.0.t20200723","7.41.0.Final","7.40.0.Final","7.40.0.20200703","7.39.0.Final","7.39.0.CR1","7.38.0.Final","7.37.0.Final","7.36.1.Final","7.36.0.Final","7.36.0.20200331","7.36.0.20200330","7.35.0.Final","7.34.0.Final","7.33.0.Final","7.32.0.k20191223","7.32.0.Final","7.31.0.Final","7.30.0.Final","7.29.0.Final","7.28.0.Final","7.27.0.Final","7.26.0.Final","7.25.0.Final","7.24.0.t043","7.24.0.Final","7.23.0.Final","7.22.0.t042","7.22.0.Final","7.21.0.Final","7.20.0.Final","7.19.0.Final","7.18.0.Final","7.17.0.Final","7.16.0.Final","7.15.0.Final","7.14.0.Final","7.13.0.Final","7.12.0.Final","7.11.0.Final","7.10.0.Final"]},{"artifactId":"kogito-quarkus-archetype","groupId":"org.kie.kogito","versions":["0.17.0","0.16.0","0.15.0","0.14.0","0.13.1","0.13.0","0.12.0","0.11.1","0.11.0","0.10.1","0.10.0","0.9.1","0.9.0","0.8.1","0.8.0","0.7.1","0.7.0","0.6.1","0.6.0","0.5.1","0.5.0","0.4.0","0.3.0","0.2.0","0.1.3","0.1.2","0.1.1","0.1.0","1.9.1.Final","1.9.0.Final","1.8.0.Final","1.7.0.Final","1.6.0.Final","1.5.0.Final","1.4.1.Final","1.4.0.Final","1.3.0.Final","1.2.0.Final","1.10.0.Final","1.1.0.Final","1.0.0.Final"],"description":"Kogito based on Quarkus runtime Archetype"},{"artifactId":"kogito-spring-boot-archetype","groupId":"org.kie.kogito","versions":["1.35.0.Final","1.34.0.Final","1.33.0.Final","1.32.0.Final","1.31.1.Final","1.31.0.Final","1.30.0.Final","1.29.0.Final","1.28.0.Final","1.27.0.Final","1.26.0.Final","1.25.0.Final","1.24.1.Final","1.24.0.Final","1.23.0.Final","1.22.1.Final","1.22.0.Final","1.21.0.Final","1.20.0.Final","1.19.0.Final","1.18.0.Final","1.17.0.Final","1.16.1.Final","1.16.0.Final","1.15.0.Final","1.14.1.Final","1.14.0.Final","1.13.0.Final","1.12.0.Final","1.11.1.Final","1.11.0.Final"],"description":"Kogito based on Spring Boot runtime Archetype"},{"artifactId":"kogito-springboot-archetype","groupId":"org.kie.kogito","versions":["0.17.0","0.16.0","0.15.0","0.14.0","0.13.1","0.13.0","0.12.0","0.11.1","0.11.0","0.10.1","0.10.0","0.9.1","0.9.0","0.8.1","0.8.0","0.7.1","0.7.0","0.6.1","0.6.0","0.5.1","0.5.0","0.4.0","0.3.0","0.2.0","0.1.3","0.1.2","0.1.1","0.1.0","1.9.1.Final","1.9.0.Final","1.8.0.Final","1.7.0.Final","1.6.0.Final","1.5.0.Final","1.4.1.Final","1.4.0.Final","1.3.0.Final","1.2.0.Final","1.10.0.Final","1.1.0.Final","1.0.0.Final"],"description":"Kogito based on SpringBoot runtime Archetype"},{"artifactId":"crab-archetype-archetype","groupId":"org.krproject.ocean.archetypes.crab","versions":["2.5.2"],"description":"Crab Project Description"},{"artifactId":"fish-archetype-archetype","groupId":"org.krproject.ocean.archetypes.fish","versions":["2.5.2"],"description":"Fish Project Description"},{"artifactId":"octopus-archetype-archetype","groupId":"org.krproject.ocean.archetypes.octopus","versions":["2.5.2"],"description":"Octopus Project Description"},{"artifactId":"rice-archetype-quickstart","groupId":"org.kuali.rice","versions":["2.6.2","2.6.1","2.6.0","2.5.19","2.5.18","2.5.17","2.5.16","2.5.15","2.5.14","2.5.12","2.5.11","2.5.10","2.5.9","2.5.6","2.5.5","2.5.4","2.5.3","2.5.2","2.5.1","2.5.0","2.4.2","2.4.1","2.4.0","2.4.0-M5","2.3.14","2.3.13","2.3.12","2.3.11","2.3.10","2.3.9","2.3.8","2.3.7","2.3.6","2.3.5","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0","2.2.5","2.2.4","2.2.3","2.2.2","2.2.1","2.2.0","2.2.0-rc1","2.2.0-M4","2.1.16","2.1.15","2.1.14","2.1.13","2.1.12","2.1.11","2.1.10","2.1.7","2.1.6","2.1.5","2.1.4","2.1.3","2.1.2"],"description":"This is a archetype which creates a Kuali Rice based application. It uses a basic project structure demonstrating war overlays, service implementation, unit and integration testing. It is configured in a bundled integration model with Kuali Rice."},{"artifactId":"kc-contrib-archetype","groupId":"org.kualigan.kuali.contrib","versions":["1.2","1.1"],"description":"An archetype used to create projects intended to become customizations added to kuali projects via Maven dependencies"},{"artifactId":"kfs-contrib-archetype","groupId":"org.kualigan.kuali.contrib","versions":["1.2","1.1"],"description":"An archetype used to create projects intended to become customizations added to kuali projects via Maven dependencies"},{"artifactId":"kc-archetype","groupId":"org.kualigan.maven.archetypes","versions":["2.0.3","2.0.0","1.1.22","1.1.21","1.1.20","1.1.19","1.1.18","1.1.17","1.1.16","1.1.15","1.1.13","1.1.12","1.1.11","1.1.10","1.1.9","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0"]},{"artifactId":"kfs-archetype","groupId":"org.kualigan.maven.archetypes","versions":["2.0.3","2.0.0","1.1.22","1.1.21","1.1.20","1.1.19","1.1.18","1.1.17","1.1.16","1.1.15","1.1.13","1.1.12","1.1.11","1.1.10","1.1.9","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.5","1.0.4","1.0.2","1.0.1","0.1.2","0.1.1","0.1.0","0.0.12","0.0.9","0.0.8"]},{"artifactId":"kfs3-archetype","groupId":"org.kualigan.maven.archetypes","versions":["2.0.3","2.0.0","1.1.22","1.1.21","1.1.20","1.1.19","1.1.18","1.1.17","1.1.16","1.1.15","1.1.13","1.1.12","1.1.11","1.1.10","1.1.9","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4"]},{"artifactId":"kfs4-archetype","groupId":"org.kualigan.maven.archetypes","versions":["2.0.3","2.0.0","1.1.22","1.1.21","1.1.20","1.1.19","1.1.18","1.1.17","1.1.16","1.1.15","1.1.13","1.1.12","1.1.11","1.1.10","1.1.9","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4"]},{"artifactId":"kr-archetype","groupId":"org.kualigan.maven.archetypes","versions":["2.0.3","2.0.0","1.1.22","1.1.21","1.1.20","1.1.19","1.1.18","1.1.17","1.1.16","1.1.15","1.1.13","1.1.12","1.1.11","1.1.10","1.1.9","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4"]},{"artifactId":"lb-copy-archetype","groupId":"org.kualigan.maven.archetypes","versions":["2.0.3","2.0.0","1.1.22","1.1.21","1.1.20","1.1.19","1.1.18","1.1.17","1.1.16","1.1.15","1.1.13","1.1.12","1.1.11","1.1.10","1.1.9","1.1.8","1.1.7","1.1.6"],"description":"Archetype used when copying databases. Creates a database project for the lb-maven-project to use in copying/exporting a database"},{"artifactId":"archetype-dataapi","groupId":"org.leapframework","versions":["0.6.2b"]},{"artifactId":"archetype-webapi","groupId":"org.leapframework","versions":["0.6.2b"]},{"artifactId":"linkki-archetype-cdi-application-vaadin8","groupId":"org.linkki-framework.archetypes","versions":["1.5.0","1.4.8","1.4.7","1.4.6","1.4.5","1.4.4","1.4.3","1.4.2","1.4.1","1.4.0","1.3.0","1.3.0-rc01","1.3.0-m01","1.2.2","1.2.1","1.2.0","1.2.0-rc02","1.2.0-rc01","1.2.0-m02","1.2.0-m01","1.1.2","1.1.1","1.1.0","1.1.0-rc02","1.1.0-rc01","1.1.0-ms03","1.1.0-ms02","1.1.0-ms01","1.0.2","1.0.1","1.0","1.0-rc","1.0.0-rc02","0.9.20190611","0.9.20190528","0.9.20190522","0.9.20190418","linkki-0.9.20190528"]},{"artifactId":"linkki-archetype-plain-application-vaadin23","groupId":"org.linkki-framework.archetypes","versions":["2.3.2","2.3.1","2.3.0","2.2.0","2.1.3","2.1.2","2.1.1","2.1.0","2.0.1","2.0.0"]},{"artifactId":"linkki-archetype-plain-application-vaadin8","groupId":"org.linkki-framework.archetypes","versions":["1.5.0","1.4.8","1.4.7","1.4.6","1.4.5","1.4.4","1.4.3","1.4.2","1.4.1","1.4.0","1.3.0","1.3.0-rc01","1.3.0-m01","1.2.2","1.2.1","1.2.0","1.2.0-rc02","1.2.0-rc01","1.2.0-m02","1.2.0-m01","1.1.2","1.1.1","1.1.0","1.1.0-rc02","1.1.0-rc01","1.1.0-ms03","1.1.0-ms02","1.1.0-ms01","1.0.2","1.0.1","1.0","1.0-rc","1.0.0-rc02","0.9.20190611","0.9.20190528","0.9.20190522","0.9.20190418","linkki-0.9.20190528"]},{"artifactId":"linkki-archetype-spring-application-vaadin23","groupId":"org.linkki-framework.archetypes","versions":["2.3.2","2.3.1","2.3.0","2.2.0","2.1.3","2.1.2","2.1.1","2.1.0","2.0.1","2.0.0"]},{"artifactId":"linkki-archetype-spring-application-vaadin8","groupId":"org.linkki-framework.archetypes","versions":["1.5.0","1.4.8","1.4.7","1.4.6","1.4.5","1.4.4","1.4.3","1.4.2","1.4.1","1.4.0","1.3.0","1.3.0-rc01","1.3.0-m01","1.2.2","1.2.1","1.2.0","1.2.0-rc02","1.2.0-rc01","1.2.0-m02","1.2.0-m01","1.1.2","1.1.1","1.1.0","1.1.0-rc02","1.1.0-rc01","1.1.0-ms03","1.1.0-ms02","1.1.0-ms01","1.0.2","1.0.1","1.0","1.0-rc","1.0.0-rc02","0.9.20190611","0.9.20190528","0.9.20190522","0.9.20190418","linkki-0.9.20190528"]},{"artifactId":"lockss-plugins-archetype","groupId":"org.lockss","versions":["1.2.0","1.1.0","1.0.0"]},{"artifactId":"JEE7Archetype","groupId":"org.luismmribeiro.archetype","versions":["1.4","1.3","1.2","1.1","1.0"],"description":"The JEE7 Archetype is a Java project that implements a complete 3-layer architecture using JEE7 and \n\t\tseveral other Java technologies. The goal of this archetype is to provide a complete, ready to work, 3-layer\n\t\tarchitecture, multi-module project."},{"artifactId":"makumba-archetype","groupId":"org.makumba","versions":["1.3","1.2","1.1","1.0"],"description":"Archetype for a makumba web-application"},{"artifactId":"midas-archetype-blank","groupId":"org.meruvian.midas","versions":["0.2"],"description":"Generates blank Midas project template"},{"artifactId":"yama-archetype","groupId":"org.meruvian.yama","versions":["1.0-Beta1"]},{"artifactId":"yama-jaxrs-archetype","groupId":"org.meruvian.yama","versions":["1.0.3"]},{"artifactId":"yama-starter-archetype","groupId":"org.meruvian.yama","versions":["2.0.0.Beta2","2.0.0.Beta1"]},{"artifactId":"yama-struts-archetype","groupId":"org.meruvian.yama","versions":["1.0.3","1.0.2","1.0.1","1.0"]},{"artifactId":"microbean-archetype-bean-archive","groupId":"org.microbean","versions":["0.2.1","0.2.0"],"description":"${project.name}"},{"artifactId":"minijax-archetype","groupId":"org.minijax","versions":["0.0.14","0.0.13","0.0.12","0.0.11","0.0.10","0.0.9","0.0.8"],"description":"Archetype for a new Minijax application"},{"artifactId":"minijax-archetype-quickstart","groupId":"org.minijax","versions":["0.5.10","0.5.9","0.5.8","0.5.7","0.5.5","0.5.3","0.5.2","0.5.1","0.4.17","0.4.15","0.4.14","0.4.13","0.4.1","0.3.20","0.3.18","0.3.14","0.3.12","0.3.11","0.3.10","0.3.7","0.3.6","0.3.5","0.3.4","0.3.3","0.3.2","0.3.1","0.3.0","0.2.6","0.2.4","0.2.3","0.2.2","0.2.1","0.2.0","0.1.7","0.1.6","0.1.5","0.1.4","0.1.3","0.1.2","0.1.1","0.1.0","0.0.47","0.0.43","0.0.42","0.0.41","0.0.40","0.0.39","0.0.35","0.0.34","0.0.33","0.0.32","0.0.31","0.0.30","0.0.29","0.0.28","0.0.27","0.0.26","0.0.25","0.0.22","0.0.20","0.0.18"],"description":"Archetype for a new Minijax application"},{"artifactId":"mixer2-springmvc-archetype","groupId":"org.mixer2","versions":["0.5.5","0.5.4","0.3.2","0.3.1","0.2.10","0.2.9","0.2.8","0.2.7","0.2.6","0.2.5","0.2.4","0.2.3","0.2.1","0.1.14"],"description":"archetype for SpringMVC web application with mixer2"},{"artifactId":"maven-archetype-sipapp","groupId":"org.mobicents.servlet.sip.archetypes","versions":["1.1","1.0"],"description":"Archetype providing a default layout to start building SIP Servlets Applications."},{"artifactId":"mss-testing-embeddedTomcat6-archetype","groupId":"org.mobicents.servlet.sip.archetypes","versions":["1.0","1.0.0-CR1"]},{"artifactId":"mss-testing-embeddedTomcat7-archetype","groupId":"org.mobicents.servlet.sip.archetypes","versions":["1.0","1.0.0-CR1"]},{"artifactId":"oss-quickstart-simple-archetype","groupId":"org.moditect.ossquickstart","versions":["1.0.0.Alpha1"],"description":"A Maven Archetype for setting up a single-module project following best practices"},{"artifactId":"jetty-archetype-assembler","groupId":"org.mortbay.jetty.archetype","versions":["8.1.9.v20130131","8.1.8.v20121106","8.1.7.v20120910","8.1.6.v20120903","8.1.5.v20120716","8.1.4.v20120524","8.1.3.v20120416","8.1.2.v20120308","8.1.16.v20140903","8.1.15.v20140411","8.1.14.v20131031","8.1.13.v20130916","8.1.12.v20130726","8.1.11.v20130520","8.1.10.v20130312","8.1.1.v20120215","8.1.0.v20120127","8.1.0.RC5","8.1.0.RC4","8.1.0.RC2","8.1.0.RC1","8.1.0.RC0","8.0.4.v20111024","8.0.3.v20111011","8.0.2.v20111006","8.0.1.v20110908","8.0.0.v20110901","8.0.0.RC0","7.6.9.v20130131","7.6.8.v20121106","7.6.7.v20120910","7.6.6.v20120903","7.6.5.v20120716","7.6.4.v20120524","7.6.3.v20120416","7.6.2.v20120308","7.6.16.v20140903","7.6.15.v20140411","7.6.14.v20131031","7.6.13.v20130916","7.6.12.v20130726","7.6.11.v20130520","7.6.10.v20130312","7.6.1.v20120215","7.6.0.v20120127","7.6.0.RC5","7.6.0.RC4","7.6.0.RC3","7.6.0.RC2","7.6.0.RC1","7.6.0.RC0","7.5.4.v20111024","7.5.3.v20111011","7.5.2.v20111006","7.5.1.v20110908","7.5.0.v20110901","7.5.0.RC2","7.5.0.RC1","7.5.0.RC0"]},{"artifactId":"jetty-archetype-fileserver","groupId":"org.mortbay.jetty.archetype","versions":["8.1.9.v20130131","8.1.8.v20121106","8.1.7.v20120910","8.1.6.v20120903","8.1.5.v20120716","8.1.4.v20120524","8.1.3.v20120416","8.1.2.v20120308","8.1.16.v20140903","8.1.15.v20140411","8.1.14.v20131031","8.1.13.v20130916","8.1.12.v20130726","8.1.11.v20130520","8.1.10.v20130312","8.1.1.v20120215","8.1.0.v20120127","8.1.0.RC5","8.1.0.RC4","8.1.0.RC2","8.1.0.RC1","8.1.0.RC0","8.0.4.v20111024","8.0.3.v20111011","8.0.2.v20111006","8.0.1.v20110908","8.0.0.v20110901","8.0.0.RC0","7.6.9.v20130131","7.6.8.v20121106","7.6.7.v20120910","7.6.6.v20120903","7.6.5.v20120716","7.6.4.v20120524","7.6.3.v20120416","7.6.2.v20120308","7.6.16.v20140903","7.6.15.v20140411","7.6.14.v20131031","7.6.13.v20130916","7.6.12.v20130726","7.6.11.v20130520","7.6.10.v20130312","7.6.1.v20120215","7.6.0.v20120127","7.6.0.RC5","7.6.0.RC4","7.6.0.RC3","7.6.0.RC2","7.6.0.RC1","7.6.0.RC0","7.5.4.v20111024","7.5.3.v20111011","7.5.2.v20111006","7.5.1.v20110908","7.5.0.v20110901","7.5.0.RC2","7.5.0.RC1","7.5.0.RC0"]},{"artifactId":"mule-extensions-archetype","groupId":"org.mule.extensions","versions":["1.2.0","1.1.2","1.1.1"]},{"artifactId":"mule-extensions-xml-archetype","groupId":"org.mule.extensions","versions":["1.2.0"]},{"artifactId":"ibean-archetype","groupId":"org.mule.ibeans","versions":["1.0-private-beta-3"],"description":"An archetype for creating an empty ibean maven project"},{"artifactId":"ibean-archetype","groupId":"org.mule.tools","versions":["3.2.0-M1","3.1.2","3.1.1","3.1.0","3.1.0-RC1","3.0.1"],"description":"Creates a new iBean project that talks to an external service i.e. Twitter, Amazon S3, Flickr). The project will define the dependencies and documented sample\n code for the ibean itself and a a working testcase."},{"artifactId":"mule-catalog-archetype","groupId":"org.mule.tools","versions":["3.9.0","3.8.1","3.8.0","3.7.0","3.6.0","3.5.0-bighorn","3.5.0-bighorn-RC3","3.4.0","3.4.0-RC1","3.4-M1","3.3.1","3.3.0","3.3.0-RC3","3.3.0-RC2","3.3.0-RC1","3.3-M2","3.3-M1","3.3.0-EA","3.2.1","3.2.0","3.2.0-M1","3.1.2","3.1.1","3.1.0","3.1.0-RC1","3.0.1"]},{"artifactId":"mule-cloud-connector-archetype","groupId":"org.mule.tools","versions":["1.0"],"description":"Creates a new cloud connector project."},{"artifactId":"mule-example-archetype","groupId":"org.mule.tools","versions":["3.5.0-bighorn","3.5.0-bighorn-RC3","3.4.0","3.4.0-RC1","3.4-M1","3.3.1","3.3.0","3.3.0-RC3","3.3.0-RC2","3.3.0-RC1","3.3-M2","3.3-M1","3.3.0-EA","3.2.1","3.2.0","3.2.0-M1","3.1.2","3.1.1","3.1.0","3.1.0-RC1","3.0.1","3.0.0","3.0.0-RC2","3.0.0-RC1","3.0.0-M4","3.0.0-M3","3.0.0-M2","3.0.0-M2-20091130","3.0.0-M2-20091124","3.0.0-M2-20091026","3.0.0-M2-20091006","3.0.0-M2-20090803","3.0.0-M1","2.2.3","2.2.1","2.2.0","2.1.2"],"description":"An archetype for creating a Mule example application."},{"artifactId":"mule-module-archetype","groupId":"org.mule.tools","versions":["3.9.0","3.8.1","3.8.0","3.7.0","3.6.0","3.5.0-bighorn","3.5.0-bighorn-RC3","3.4.0","3.4.0-RC1","3.4-M1","3.3.1","3.3.0","3.3.0-RC3","3.3.0-RC2","3.3.0-RC1","3.3-M2","3.3-M1","3.3.0-EA","3.2.1","3.2.0","3.2.0-M1","3.1.2","3.1.1","3.1.0","3.1.0-RC1","3.0.1","3.0.0","3.0.0-RC2","3.0.0-RC1","3.0.0-M4","3.0.0-M3","3.0.0-M2","3.0.0-M2-20091130","3.0.0-M2-20091124","3.0.0-M2-20091026","3.0.0-M2-20091006","3.0.0-M2-20090803","3.0.0-M1","2.2.3","2.2.1","2.2.0","2.1.2"],"description":"An architype for creating a Mule Module. It provides options for adding certain mule features and configuring the\n module for Muleforge."},{"artifactId":"mule-project-archetype","groupId":"org.mule.tools","versions":["3.9.0","3.8.1","3.8.0","3.7.0","3.6.0","3.5.0-bighorn","3.5.0-bighorn-RC3","3.4.0","3.4.0-RC1","3.4-M1","3.3.1","3.3.0","3.3.0-RC3","3.3.0-RC2","3.3.0-RC1","3.3-M2","3.3-M1","3.3.0-EA","3.2.1","3.2.0","3.2.0-M1","3.1.2","3.1.1","3.1.0","3.1.0-RC1","3.0.1","3.0.0","3.0.0-RC2","3.0.0-RC1","3.0.0-M4","3.0.0-M3","3.0.0-M2","3.0.0-M2-20091130","3.0.0-M2-20091124","3.0.0-M2-20091026","3.0.0-M2-20091006","3.0.0-M2-20090803","3.0.0-M1","2.2.3","2.2.1","2.2.0","2.1.2","2.1.1","2.1.0","2.1.0-M2","2.0.2","2.0.1","2.0.0","2.0.0-RC3","2.0.0-RC2","2.0.0-RC1"],"description":"An architype for creating Mule applications."},{"artifactId":"mule-transport-archetype","groupId":"org.mule.tools","versions":["3.9.0","3.8.1","3.8.0","3.7.0","3.6.0","3.5.0-bighorn","3.5.0-bighorn-RC3","3.4.0","3.4.0-RC1","3.4-M1","3.3.1","3.3.0","3.3.0-RC3","3.3.0-RC2","3.3.0-RC1","3.3-M2","3.3-M1","3.3.0-EA","3.2.1","3.2.0","3.2.0-M1","3.1.2","3.1.1","3.1.0","3.1.0-RC1","3.0.1","3.0.0","3.0.0-RC2","3.0.0-RC1","3.0.0-M4","3.0.0-M3","3.0.0-M2","3.0.0-M2-20091130","3.0.0-M2-20091124","3.0.0-M2-20091026","3.0.0-M2-20091006","3.0.0-M2-20090803","3.0.0-M1","2.2.3","2.2.1","2.2.0","2.1.2","2.1.1","2.1.0","2.1.0-M2","2.0.2","2.0.1","2.0.0","2.0.0-RC3","2.0.0-RC2","2.0.0-RC1","2.0.0-M2","2.0-M1","1.4.4","1.4.3","1.4.2","1.4.1"],"description":"Archetype for Mule 2.0 and above transport projects."},{"artifactId":"maven-achetype-mule-app","groupId":"org.mule.tools.maven","versions":["1.0"],"description":"A simple maven tool to create mule applications"},{"artifactId":"maven-achetype-mule-domain","groupId":"org.mule.tools.maven","versions":["1.0"]},{"artifactId":"maven-achetype-mule-domain-bundle","groupId":"org.mule.tools.maven","versions":["1.1","1.0"]},{"artifactId":"maven-archetype-mule-app","groupId":"org.mule.tools.maven","versions":["1.1"],"description":"A simple maven tool to create mule applications"},{"artifactId":"maven-archetype-mule-domain","groupId":"org.mule.tools.maven","versions":["1.1"]},{"artifactId":"multiverse-project-archetype","groupId":"org.multiverse","versions":["0.5.2","0.5","0.3"],"description":"Skeleton for a project using Multiverse"},{"artifactId":"command-archetype","groupId":"org.mwolff","versions":["2.0.0","1.5.0","1.4.2","1.4.1","1.4.0"],"description":"An archetype for building the command framework."},{"artifactId":"servlet3-jetty-webapp-archetype","groupId":"org.n52","versions":["1.0.1","1.0.0"]},{"artifactId":"application-archetype","groupId":"org.nakedobjects","versions":["4.0.0"]},{"artifactId":"remoting-support","groupId":"org.nakedobjects","versions":["1.0-alpha-2","1.0-alpha-1"]},{"artifactId":"application","groupId":"org.nakedobjects.archetypes","versions":["4.0-beta-1","4.0-alpha-4","4.0-alpha-3"]},{"artifactId":"hibernate-support","groupId":"org.nakedobjects.plugins","versions":["1.0-alpha-2","1.0-alpha-1"]},{"artifactId":"html-war","groupId":"org.nakedobjects.plugins","versions":["1.0-alpha-3"]},{"artifactId":"htmlviewer-war","groupId":"org.nakedobjects.plugins","versions":["1.0-alpha-2","1.0-alpha-1"]},{"artifactId":"application","groupId":"org.nakedobjects.prototyping","versions":["1.0-alpha-2","1.0-alpha-1"]},{"artifactId":"icons","groupId":"org.nakedobjects.prototyping","versions":["1.0-alpha-2","1.0-alpha-1"]},{"artifactId":"bundle-archetype","groupId":"org.nakedosgi","versions":["0.4.0","0.3.0"]},{"artifactId":"ninja-appengine-blog-archetype","groupId":"org.ninjaframework","versions":["1.9.76","1.9.74","1.9.71","1.9.65","1.9.60","1.9.54","1.9.50","1.9.50-rc1","1.9.48-beta2","1.9.48-beta1","1.9.38","1.9.34","1.9.31","1.9.30","1.9.28","1.9.26","1.9.23","1.9.18","1.9.9","1.9.6","1.9.4","1.9.2","1.9.1","1.9.0","1.8.9","1.8.8","1.8.7","1.8.6","1.8.5","1.8.4","1.8.3","1.8.2","1.8.1","1.6.2","1.6.1","1.6","1.5.5","1.9.88.1","1.9.60.2","1.8.9.1"]},{"artifactId":"ninja-core-demo-archetype","groupId":"org.ninjaframework","versions":["1.6.0","1.6.0-rc1","1.5.1","1.5","1.4.4","1.4.3","1.4.2","1.4.1","1.4"]},{"artifactId":"ninja-jpa-demo-archetype","groupId":"org.ninjaframework","versions":["1.6.0","1.6.0-rc1"]},{"artifactId":"ninja-servlet-archetype-simple","groupId":"org.ninjaframework","versions":["6.9.0","6.8.1","6.8.0","6.7.0","6.6.1","6.5.0","6.4.2","6.4.1","6.4.0","6.3.0","6.2.2","6.2.1","6.2.0","6.1.0","6.0.0","6.0.0-rc1","6.0.0-beta3","6.0.0-beta2","6.0.0-beta1","5.8.0","5.7.0","5.6.0","5.5.0","5.4.0","5.3.1","5.3.0","5.2.2","5.2.1","5.2.0","5.1.6","5.1.5","5.1.4","5.1.3","5.1.2","5.1.1","5.1.0","4.0.6","4.0.5","4.0.4","4.0.3","4.0.2","4.0.0","3.3.3","3.3.1","3.3.0","3.2.0","3.1.6","3.1.5","3.1.4","3.1.3","3.1.2","3.1.1","3.1.0","3.0.3","3.0.2","3.0.1","3.0.0"]},{"artifactId":"ninja-servlet-jpa-blog-archetype","groupId":"org.ninjaframework","versions":["6.9.0","6.8.1","6.8.0","6.7.0","6.6.1","6.5.0","6.4.2","6.4.1","6.4.0","6.3.0","6.2.2","6.2.1","6.2.0","6.1.0","6.0.0","6.0.0-rc1","6.0.0-beta3","6.0.0-beta2","6.0.0-beta1","5.8.0","5.7.0","5.6.0","5.5.0","5.4.0","5.3.1","5.3.0","5.2.2","5.2.1","5.2.0","5.1.6","5.1.5","5.1.4","5.1.3","5.1.2","5.1.1","5.1.0","4.0.6","4.0.5","4.0.4","4.0.3","4.0.2","4.0.0","3.3.3","3.3.1","3.3.0","3.2.0","3.1.6","3.1.5","3.1.4","3.1.3","3.1.2","3.1.1","3.1.0","3.0.3","3.0.2","3.0.1","3.0.0","3.0.0-rc2","3.0.0-rc1","2.5.1","2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.1","2.0.0","2.0.0-rc2"]},{"artifactId":"ninja-servlet-jpa-blog-integration-test-archetype","groupId":"org.ninjaframework","versions":["2.0.0-rc1"]},{"artifactId":"maven-archetype-cecilia-app","groupId":"org.objectweb.fractal.cecilia","versions":["1.0"],"description":"This archetype is useful to quick start Cecilia applications,\n\t\thaving a source tree template already filled."},{"artifactId":"maven-archetype-cecilia-application","groupId":"org.objectweb.fractal.cecilia","versions":["2.1.0","2.1-start-8763","2.1-start-8605","2.0.4","2.0.3","2.0.2","2.0.1","2.0","2.0-beta-3","2.0-beta-2","2.0-beta-1","2.0-alpha-5","2.0-alpha-4","2.0-alpha-3","2.0-alpha-2","2.0-alpha-1","1.2.1","1.2","1.1"],"description":"This archetype is useful to quick start Cecilia applications, having a\n\t\tsource tree template already filled."},{"artifactId":"maven-archetype-cecilia-library","groupId":"org.objectweb.fractal.cecilia","versions":["2.1.0","2.1-start-8763","2.1-start-8605","2.0.4","2.0.3","2.0.2","2.0.1","2.0","2.0-beta-3","2.0-beta-2","2.0-beta-1","2.0-alpha-5","2.0-alpha-4","2.0-alpha-3","2.0-alpha-2","2.0-alpha-1","1.2.1","1.2","1.1"],"description":"This archetype is useful to quick start Cecilia components library\n\t\tprojects, having a source tree template already filled."},{"artifactId":"maven-archetype-petals-jbi-binding-component","groupId":"org.objectweb.petals","versions":["1.0.0"],"description":">This project is Maven 2 archetype associated to a JBI binding component project."},{"artifactId":"maven-archetype-petals-jbi-service-assembly","groupId":"org.objectweb.petals","versions":["1.0.0"],"description":"This project is Maven 2 archetype associated to a JBI service assembly project."},{"artifactId":"maven-archetype-petals-jbi-service-engine","groupId":"org.objectweb.petals","versions":["1.0.0"],"description":"This project is Maven 2 archetype associated to a JBI service engine project."},{"artifactId":"maven-archetype-petals-jbi-service-unit","groupId":"org.objectweb.petals","versions":["1.0.0"],"description":"This project is Maven 2 archetype associated to a JBI service unit project."},{"artifactId":"ojb-connector-archetype","groupId":"org.ojbc.archetypes","versions":["1.0.0"]},{"artifactId":"java-ee-kickoff-app-archetype","groupId":"org.omnifaces","versions":["1.0"],"description":"Java EE 8 kickoff app template. A minimal runnable Java EE 8 web application with login and an embedded DB"},{"artifactId":"onos-api-archetype","groupId":"org.onosproject","versions":["2.7.0","2.7.0-rc1","2.6.0","2.6.0-rc5","2.6.0-rc4","2.6.0-rc3","2.5.9","2.5.7-rc3","2.5.7-rc2","2.5.7-rc1","2.5.6","2.5.5","2.5.5-rc1","2.5.4","2.5.3","2.5.2","2.5.2-b2","2.5.2-b1","2.5.1","2.5.1-rc1","2.5.0","2.5.0-rc2","2.4.0","2.4.0-rc2","2.4.0-rc1","2.2.8","2.2.8-b3","2.2.8-b2","2.2.7","2.2.7-b4","2.2.7-b3","2.2.7-b2","2.2.6","2.2.6-rc1","2.2.6-b2","2.2.6-b1","2.2.5","2.2.5-rc1","2.2.4","2.2.4-b3","2.2.4-b2","2.2.3","2.2.3-rc1","2.2.3-b2","2.2.3-b1","2.2.2","2.2.2-rc6","2.2.1-b2","2.1.0","2.1.0-rc7","2.1.0-rc6","2.1.0-rc3","2.1.0-rc2","2.1.0-rc1","2.0.0","2.0.0-rc2","2.0.0-rc1","2.0.0-b1","1.15.0","1.15.0-rc2","1.15.0-rc1","1.14.1","1.14.0","1.14.0-rc6","1.14.0-rc5","1.14.0-rc4","1.14.0-rc3","1.14.0-rc2","1.14.0-rc1","1.13.10","1.13.10-rc2","1.13.10-rc1","1.13.9","1.13.9-rc4","1.13.9-rc3","1.13.9-rc2","1.13.9-rc1","1.13.8","1.13.7","1.13.6","1.13.5","1.13.4","1.13.3","1.13.2","1.13.2-rc3","1.13.2-rc2","1.13.2-rc1","1.13.1","1.13.0","1.13.0-b8","1.13.0-b6","1.13.0-b5","1.12.2-rc2","1.12.1","1.12.1-rc7","1.12.1-rc6","1.12.1-rc2","1.12.1-rc1","1.12.0","1.12.0-rc3","1.12.0-rc2","1.12.0-rc1","1.12.0-b2","1.12.0-b1","1.11.2","1.11.2-rc6","1.11.2-rc5","1.11.2-rc4","1.11.2-rc3","1.11.2-rc1","1.11.1","1.11.1-rc1","1.11.0","1.11.0-rc6","1.11.0-rc5","1.11.0-rc4","1.11.0-b4","1.11.0-b3","1.11.0-b2","1.10.12","1.10.11","1.10.10","1.10.9","1.10.8","1.10.7","1.10.6","1.10.5","1.10.4","1.10.3","1.10.2","1.10.1","1.10.0","1.10.0-rc5","1.10.0-rc4","1.10.0-rc3","1.10.0-rc2","1.10.0-rc1","1.9.2","1.9.1","1.9.0","1.9.0-test1","1.9.0-rc5","1.9.0-rc4","1.9.0-rc3","1.9.0-rc2","1.9.0-rc1","1.9.0-b3","1.9.0-b1","1.9.0-b1b","1.8.9","1.8.8","1.8.7","1.8.6","1.8.5","1.8.5-rc2","1.8.2","1.8.1","1.8.0","1.7.1","1.7.0","1.6.0","1.5.1","1.5.0","1.4.0","1.3.0","1.2.2","1.2.1","1.2.0","1.1.0","1.0.1","1.0.0","1.0.0p1"],"description":"ONOS OSGi API bundle archetype"},{"artifactId":"onos-bundle-archetype","groupId":"org.onosproject","versions":["2.7.0","2.7.0-rc1","2.6.0","2.6.0-rc5","2.6.0-rc4","2.6.0-rc3","2.5.9","2.5.7-rc3","2.5.7-rc2","2.5.7-rc1","2.5.6","2.5.5","2.5.5-rc1","2.5.4","2.5.3","2.5.2","2.5.2-b2","2.5.2-b1","2.5.1","2.5.1-rc1","2.5.0","2.5.0-rc2","2.4.0","2.4.0-rc2","2.4.0-rc1","2.2.8","2.2.8-b3","2.2.8-b2","2.2.7","2.2.7-b4","2.2.7-b3","2.2.7-b2","2.2.6","2.2.6-rc1","2.2.6-b2","2.2.6-b1","2.2.5","2.2.5-rc1","2.2.4","2.2.4-b3","2.2.4-b2","2.2.3","2.2.3-rc1","2.2.3-b2","2.2.3-b1","2.2.2","2.2.2-rc6","2.2.1-b2","2.1.0","2.1.0-rc7","2.1.0-rc6","2.1.0-rc3","2.1.0-rc2","2.1.0-rc1","2.0.0","2.0.0-rc2","2.0.0-rc1","2.0.0-b1","1.15.0","1.15.0-rc2","1.15.0-rc1","1.14.1","1.14.0","1.14.0-rc6","1.14.0-rc5","1.14.0-rc4","1.14.0-rc3","1.14.0-rc2","1.14.0-rc1","1.13.10","1.13.10-rc2","1.13.10-rc1","1.13.9","1.13.9-rc4","1.13.9-rc3","1.13.9-rc2","1.13.9-rc1","1.13.8","1.13.7","1.13.6","1.13.5","1.13.4","1.13.3","1.13.2","1.13.2-rc3","1.13.2-rc2","1.13.2-rc1","1.13.1","1.13.0","1.13.0-b8","1.13.0-b6","1.13.0-b5","1.12.2-rc2","1.12.1","1.12.1-rc7","1.12.1-rc6","1.12.1-rc2","1.12.1-rc1","1.12.0","1.12.0-rc3","1.12.0-rc2","1.12.0-rc1","1.12.0-b2","1.12.0-b1","1.11.2","1.11.2-rc6","1.11.2-rc5","1.11.2-rc4","1.11.2-rc3","1.11.2-rc1","1.11.1","1.11.1-rc1","1.11.0","1.11.0-rc6","1.11.0-rc5","1.11.0-rc4","1.11.0-b4","1.11.0-b3","1.11.0-b2","1.10.12","1.10.11","1.10.10","1.10.9","1.10.8","1.10.7","1.10.6","1.10.5","1.10.4","1.10.3","1.10.2","1.10.1","1.10.0","1.10.0-rc5","1.10.0-rc4","1.10.0-rc3","1.10.0-rc2","1.10.0-rc1","1.9.2","1.9.1","1.9.0","1.9.0-test1","1.9.0-rc5","1.9.0-rc4","1.9.0-rc3","1.9.0-rc2","1.9.0-rc1","1.9.0-b3","1.9.0-b1","1.9.0-b1b","1.8.9","1.8.8","1.8.7","1.8.6","1.8.5","1.8.5-rc2","1.8.2","1.8.1","1.8.0","1.7.1","1.7.0","1.6.0","1.5.1","1.5.0","1.4.0","1.3.0","1.2.2","1.2.1","1.2.0","1.1.0","1.0.1","1.0.0","1.0.0p1"],"description":"ONOS OSGi bundle archetype"},{"artifactId":"onos-cli-archetype","groupId":"org.onosproject","versions":["2.7.0","2.7.0-rc1","2.6.0","2.6.0-rc5","2.6.0-rc4","2.6.0-rc3","2.5.9","2.5.7-rc3","2.5.7-rc2","2.5.7-rc1","2.5.6","2.5.5","2.5.5-rc1","2.5.4","2.5.3","2.5.2","2.5.2-b2","2.5.2-b1","2.5.1","2.5.1-rc1","2.5.0","2.5.0-rc2","2.4.0","2.4.0-rc2","2.4.0-rc1","2.2.8","2.2.8-b3","2.2.8-b2","2.2.7","2.2.7-b4","2.2.7-b3","2.2.7-b2","2.2.6","2.2.6-rc1","2.2.6-b2","2.2.6-b1","2.2.5","2.2.5-rc1","2.2.4","2.2.4-b3","2.2.4-b2","2.2.3","2.2.3-rc1","2.2.3-b2","2.2.3-b1","2.2.2","2.2.2-rc6","2.2.1-b2","2.1.0","2.1.0-rc7","2.1.0-rc6","2.1.0-rc3","2.1.0-rc2","2.1.0-rc1","2.0.0","2.0.0-rc2","2.0.0-rc1","2.0.0-b1","1.15.0","1.15.0-rc2","1.15.0-rc1","1.14.1","1.14.0","1.14.0-rc6","1.14.0-rc5","1.14.0-rc4","1.14.0-rc3","1.14.0-rc2","1.14.0-rc1","1.13.10","1.13.10-rc2","1.13.10-rc1","1.13.9","1.13.9-rc4","1.13.9-rc3","1.13.9-rc2","1.13.9-rc1","1.13.8","1.13.7","1.13.6","1.13.5","1.13.4","1.13.3","1.13.2","1.13.2-rc3","1.13.2-rc2","1.13.2-rc1","1.13.1","1.13.0","1.13.0-b8","1.13.0-b6","1.13.0-b5","1.12.2-rc2","1.12.1","1.12.1-rc7","1.12.1-rc6","1.12.1-rc2","1.12.1-rc1","1.12.0","1.12.0-rc3","1.12.0-rc2","1.12.0-rc1","1.12.0-b2","1.12.0-b1","1.11.2","1.11.2-rc6","1.11.2-rc5","1.11.2-rc4","1.11.2-rc3","1.11.2-rc1","1.11.1","1.11.1-rc1","1.11.0","1.11.0-rc6","1.11.0-rc5","1.11.0-rc4","1.11.0-b4","1.11.0-b3","1.11.0-b2","1.10.12","1.10.11","1.10.10","1.10.9","1.10.8","1.10.7","1.10.6","1.10.5","1.10.4","1.10.3","1.10.2","1.10.1","1.10.0","1.10.0-rc5","1.10.0-rc4","1.10.0-rc3","1.10.0-rc2","1.10.0-rc1","1.9.2","1.9.1","1.9.0","1.9.0-test1","1.9.0-rc5","1.9.0-rc4","1.9.0-rc3","1.9.0-rc2","1.9.0-rc1","1.9.0-b3","1.9.0-b1","1.9.0-b1b","1.8.9","1.8.8","1.8.7","1.8.6","1.8.5","1.8.5-rc2","1.8.2","1.8.1","1.8.0","1.7.1","1.7.0","1.6.0","1.5.1","1.5.0","1.4.0","1.3.0","1.2.2","1.2.1","1.2.0","1.1.0","1.0.1","1.0.0","1.0.0p1"],"description":"ONOS Apache Karaf bundle archetype"},{"artifactId":"onos-rest-archetype","groupId":"org.onosproject","versions":["2.7.0","2.7.0-rc1","2.6.0","2.6.0-rc5","2.6.0-rc4","2.6.0-rc3","2.5.9","2.5.7-rc3","2.5.7-rc2","2.5.7-rc1","2.5.6","2.5.5","2.5.5-rc1","2.5.4","2.5.3","2.5.2","2.5.2-b2","2.5.2-b1","2.5.1","2.5.1-rc1","2.5.0","2.5.0-rc2","2.4.0","2.4.0-rc2","2.4.0-rc1","2.2.8","2.2.8-b3","2.2.8-b2","2.2.7","2.2.7-b4","2.2.7-b3","2.2.7-b2","2.2.6","2.2.6-rc1","2.2.6-b2","2.2.6-b1","2.2.5","2.2.5-rc1","2.2.4","2.2.4-b3","2.2.4-b2","2.2.3","2.2.3-rc1","2.2.3-b2","2.2.3-b1","2.2.2","2.2.2-rc6","2.2.1-b2","2.1.0","2.1.0-rc7","2.1.0-rc6","2.1.0-rc3","2.1.0-rc2","2.1.0-rc1","2.0.0","2.0.0-rc2","2.0.0-rc1","2.0.0-b1","1.15.0","1.15.0-rc2","1.15.0-rc1","1.14.1","1.14.0","1.14.0-rc6","1.14.0-rc5","1.14.0-rc4","1.14.0-rc3","1.14.0-rc2","1.14.0-rc1","1.13.10","1.13.10-rc2","1.13.10-rc1","1.13.9","1.13.9-rc4","1.13.9-rc3","1.13.9-rc2","1.13.9-rc1","1.13.8","1.13.7","1.13.6","1.13.5","1.13.4","1.13.3","1.13.2","1.13.2-rc3","1.13.2-rc2","1.13.2-rc1","1.13.1","1.13.0","1.13.0-b8","1.13.0-b6","1.13.0-b5","1.12.2-rc2","1.12.1","1.12.1-rc7","1.12.1-rc6","1.12.1-rc2","1.12.1-rc1","1.12.0","1.12.0-rc3","1.12.0-rc2","1.12.0-rc1","1.12.0-b2","1.12.0-b1","1.11.2","1.11.2-rc6","1.11.2-rc5","1.11.2-rc4","1.11.2-rc3","1.11.2-rc1","1.11.1","1.11.1-rc1","1.11.0","1.11.0-rc6","1.11.0-rc5","1.11.0-rc4","1.11.0-b4","1.11.0-b3","1.11.0-b2","1.10.12","1.10.11","1.10.10","1.10.9","1.10.8","1.10.7","1.10.6","1.10.5","1.10.4","1.10.3","1.10.2","1.10.1","1.10.0","1.10.0-rc5","1.10.0-rc4","1.10.0-rc3","1.10.0-rc2","1.10.0-rc1","1.9.2","1.9.1","1.9.0","1.9.0-test1","1.9.0-rc5","1.9.0-rc4","1.9.0-rc3","1.9.0-rc2","1.9.0-rc1","1.9.0-b3","1.9.0-b1","1.9.0-b1b","1.8.9","1.8.8","1.8.7","1.8.6","1.8.5","1.8.5-rc2","1.8.2","1.8.1","1.8.0","1.7.1","1.7.0","1.6.0","1.5.1","1.5.0","1.4.0"],"description":"ONOS REST API bundle archetype"},{"artifactId":"onos-ui-archetype","groupId":"org.onosproject","versions":["2.7.0","2.7.0-rc1","2.6.0","2.6.0-rc5","2.6.0-rc4","2.6.0-rc3","2.5.9","2.5.7-rc3","2.5.7-rc2","2.5.7-rc1","2.5.6","2.5.5","2.5.5-rc1","2.5.4","2.5.3","2.5.2","2.5.2-b2","2.5.2-b1","2.5.1","2.5.1-rc1","2.5.0","2.5.0-rc2","2.4.0","2.4.0-rc2","2.4.0-rc1","2.2.8","2.2.8-b3","2.2.8-b2","2.2.7","2.2.7-b4","2.2.7-b3","2.2.7-b2","2.2.6","2.2.6-rc1","2.2.6-b2","2.2.6-b1","2.2.5","2.2.5-rc1","2.2.4","2.2.4-b3","2.2.4-b2","2.2.3","2.2.3-rc1","2.2.3-b2","2.2.3-b1","2.2.2","2.2.2-rc6","2.2.1-b2","2.1.0","2.1.0-rc7","2.1.0-rc6","2.1.0-rc3","2.1.0-rc2","2.1.0-rc1","2.0.0","2.0.0-rc2","2.0.0-rc1","2.0.0-b1","1.15.0","1.15.0-rc2","1.15.0-rc1","1.14.1","1.14.0","1.14.0-rc6","1.14.0-rc5","1.14.0-rc4","1.14.0-rc3","1.14.0-rc2","1.14.0-rc1","1.13.10","1.13.10-rc2","1.13.10-rc1","1.13.9","1.13.9-rc4","1.13.9-rc3","1.13.9-rc2","1.13.9-rc1","1.13.8","1.13.7","1.13.6","1.13.5","1.13.4","1.13.3","1.13.2","1.13.2-rc3","1.13.2-rc2","1.13.2-rc1","1.13.1","1.13.0","1.13.0-b8","1.13.0-b6","1.13.0-b5","1.12.2-rc2","1.12.1","1.12.1-rc7","1.12.1-rc6","1.12.1-rc2","1.12.1-rc1","1.12.0","1.12.0-rc3","1.12.0-rc2","1.12.0-rc1","1.12.0-b2","1.12.0-b1","1.11.2","1.11.2-rc6","1.11.2-rc5","1.11.2-rc4","1.11.2-rc3","1.11.2-rc1","1.11.1","1.11.1-rc1","1.11.0","1.11.0-rc6","1.11.0-rc5","1.11.0-rc4","1.11.0-b4","1.11.0-b3","1.11.0-b2","1.10.12","1.10.11","1.10.10","1.10.9","1.10.8","1.10.7","1.10.6","1.10.5","1.10.4","1.10.3","1.10.2","1.10.1","1.10.0","1.10.0-rc5","1.10.0-rc4","1.10.0-rc3","1.10.0-rc2","1.10.0-rc1","1.9.2","1.9.1","1.9.0","1.9.0-test1","1.9.0-rc5","1.9.0-rc4","1.9.0-rc3","1.9.0-rc2","1.9.0-rc1","1.9.0-b3","1.9.0-b1","1.9.0-b1b","1.8.9","1.8.8","1.8.7","1.8.6","1.8.5","1.8.5-rc2","1.8.2","1.8.1","1.8.0","1.7.1","1.7.0","1.6.0","1.5.1","1.5.0","1.4.0","1.3.0","1.2.2","1.2.1","1.2.0"],"description":"ONOS UI Custom-View overlay archetype"},{"artifactId":"onos-ui2-archetype","groupId":"org.onosproject","versions":["2.7.0","2.7.0-rc1","2.6.0","2.6.0-rc5","2.6.0-rc4","2.6.0-rc3","2.5.9","2.5.7-rc3","2.5.7-rc2","2.5.7-rc1","2.5.6","2.5.5","2.5.5-rc1","2.5.4","2.5.3","2.5.2","2.5.2-b2","2.5.2-b1","2.5.1","2.5.1-rc1","2.5.0","2.5.0-rc2","2.4.0","2.4.0-rc2","2.4.0-rc1","2.2.8","2.2.8-b3","2.2.8-b2","2.2.7","2.2.7-b4","2.2.7-b3","2.2.7-b2","2.2.6","2.2.6-rc1","2.2.6-b2","2.2.6-b1","2.2.5","2.2.5-rc1","2.2.4","2.2.4-b3","2.2.4-b2","2.2.3","2.2.3-rc1","2.2.3-b2","2.2.3-b1","2.2.2","2.2.2-rc6","2.2.1-b2"],"description":"ONOS GUI2 Custom-View overlay archetype"},{"artifactId":"onos-uitab-archetype","groupId":"org.onosproject","versions":["2.7.0","2.7.0-rc1","2.6.0","2.6.0-rc5","2.6.0-rc4","2.6.0-rc3","2.5.9","2.5.7-rc3","2.5.7-rc2","2.5.7-rc1","2.5.6","2.5.5","2.5.5-rc1","2.5.4","2.5.3","2.5.2","2.5.2-b2","2.5.2-b1","2.5.1","2.5.1-rc1","2.5.0","2.5.0-rc2","2.4.0","2.4.0-rc2","2.4.0-rc1","2.2.8","2.2.8-b3","2.2.8-b2","2.2.7","2.2.7-b4","2.2.7-b3","2.2.7-b2","2.2.6","2.2.6-rc1","2.2.6-b2","2.2.6-b1","2.2.5","2.2.5-rc1","2.2.4","2.2.4-b3","2.2.4-b2","2.2.3","2.2.3-rc1","2.2.3-b2","2.2.3-b1","2.2.2","2.2.2-rc6","2.2.1-b2","2.1.0","2.1.0-rc7","2.1.0-rc6","2.1.0-rc3","2.1.0-rc2","2.1.0-rc1","2.0.0","2.0.0-rc2","2.0.0-rc1","2.0.0-b1","1.15.0","1.15.0-rc2","1.15.0-rc1","1.14.1","1.14.0","1.14.0-rc6","1.14.0-rc5","1.14.0-rc4","1.14.0-rc3","1.14.0-rc2","1.14.0-rc1","1.13.10","1.13.10-rc2","1.13.10-rc1","1.13.9","1.13.9-rc4","1.13.9-rc3","1.13.9-rc2","1.13.9-rc1","1.13.8","1.13.7","1.13.6","1.13.5","1.13.4","1.13.3","1.13.2","1.13.2-rc3","1.13.2-rc2","1.13.2-rc1","1.13.1","1.13.0","1.13.0-b8","1.13.0-b6","1.13.0-b5","1.12.2-rc2","1.12.1","1.12.1-rc7","1.12.1-rc6","1.12.1-rc2","1.12.1-rc1","1.12.0","1.12.0-rc3","1.12.0-rc2","1.12.0-rc1","1.12.0-b2","1.12.0-b1","1.11.2","1.11.2-rc6","1.11.2-rc5","1.11.2-rc4","1.11.2-rc3","1.11.2-rc1","1.11.1","1.11.1-rc1","1.11.0","1.11.0-rc6","1.11.0-rc5","1.11.0-rc4","1.11.0-b4","1.11.0-b3","1.11.0-b2","1.10.12","1.10.11","1.10.10","1.10.9","1.10.8","1.10.7","1.10.6","1.10.5","1.10.4","1.10.3","1.10.2","1.10.1","1.10.0","1.10.0-rc5","1.10.0-rc4","1.10.0-rc3","1.10.0-rc2","1.10.0-rc1","1.9.2","1.9.1","1.9.0","1.9.0-test1","1.9.0-rc5","1.9.0-rc4","1.9.0-rc3","1.9.0-rc2","1.9.0-rc1","1.9.0-b3","1.9.0-b1","1.9.0-b1b","1.8.9","1.8.8","1.8.7","1.8.6","1.8.5","1.8.5-rc2","1.8.2","1.8.1","1.8.0","1.7.1","1.7.0","1.6.0","1.5.1","1.5.0","1.4.0"],"description":"ONOS UI Table-View overlay archetype"},{"artifactId":"onos-uitopo-archetype","groupId":"org.onosproject","versions":["2.7.0","2.7.0-rc1","2.6.0","2.6.0-rc5","2.6.0-rc4","2.6.0-rc3","2.5.9","2.5.7-rc3","2.5.7-rc2","2.5.7-rc1","2.5.6","2.5.5","2.5.5-rc1","2.5.4","2.5.3","2.5.2","2.5.2-b2","2.5.2-b1","2.5.1","2.5.1-rc1","2.5.0","2.5.0-rc2","2.4.0","2.4.0-rc2","2.4.0-rc1","2.2.8","2.2.8-b3","2.2.8-b2","2.2.7","2.2.7-b4","2.2.7-b3","2.2.7-b2","2.2.6","2.2.6-rc1","2.2.6-b2","2.2.6-b1","2.2.5","2.2.5-rc1","2.2.4","2.2.4-b3","2.2.4-b2","2.2.3","2.2.3-rc1","2.2.3-b2","2.2.3-b1","2.2.2","2.2.2-rc6","2.2.1-b2","2.1.0","2.1.0-rc7","2.1.0-rc6","2.1.0-rc3","2.1.0-rc2","2.1.0-rc1","2.0.0","2.0.0-rc2","2.0.0-rc1","2.0.0-b1","1.15.0","1.15.0-rc2","1.15.0-rc1","1.14.1","1.14.0","1.14.0-rc6","1.14.0-rc5","1.14.0-rc4","1.14.0-rc3","1.14.0-rc2","1.14.0-rc1","1.13.10","1.13.10-rc2","1.13.10-rc1","1.13.9","1.13.9-rc4","1.13.9-rc3","1.13.9-rc2","1.13.9-rc1","1.13.8","1.13.7","1.13.6","1.13.5","1.13.4","1.13.3","1.13.2","1.13.2-rc3","1.13.2-rc2","1.13.2-rc1","1.13.1","1.13.0","1.13.0-b8","1.13.0-b6","1.13.0-b5","1.12.2-rc2","1.12.1","1.12.1-rc7","1.12.1-rc6","1.12.1-rc2","1.12.1-rc1","1.12.0","1.12.0-rc3","1.12.0-rc2","1.12.0-rc1","1.12.0-b2","1.12.0-b1","1.11.2","1.11.2-rc6","1.11.2-rc5","1.11.2-rc4","1.11.2-rc3","1.11.2-rc1","1.11.1","1.11.1-rc1","1.11.0","1.11.0-rc6","1.11.0-rc5","1.11.0-rc4","1.11.0-b4","1.11.0-b3","1.11.0-b2","1.10.12","1.10.11","1.10.10","1.10.9","1.10.8","1.10.7","1.10.6","1.10.5","1.10.4","1.10.3","1.10.2","1.10.1","1.10.0","1.10.0-rc5","1.10.0-rc4","1.10.0-rc3","1.10.0-rc2","1.10.0-rc1","1.9.2","1.9.1","1.9.0","1.9.0-test1","1.9.0-rc5","1.9.0-rc4","1.9.0-rc3","1.9.0-rc2","1.9.0-rc1","1.9.0-b3","1.9.0-b1","1.9.0-b1b","1.8.9","1.8.8","1.8.7","1.8.6","1.8.5","1.8.5-rc2","1.8.2","1.8.1","1.8.0","1.7.1","1.7.0","1.6.0","1.5.1","1.5.0","1.4.0"],"description":"ONOS UI Topology-Overlay overlay archetype"},{"artifactId":"opencast-theodul-plugin","groupId":"org.opencastproject","versions":["13.2","13.1","13.0","12.8","12.7","12.6","12.5","12.3","12.2","12.1","12.0","11.11","11.10","11.9","11.8","11.7","11.6","11.5","11.4","11.3","11.2","11.1","11.0","10.12","10.11","10.10","10.9","10.8","10.7","10.6","10.5","10.4","10.3","10.2","10.1","10.0","9.12","9.11","9.10","9.9","9.7","9.6","9.5","9.4","9.3","9.2","9.1","9.0","8.11","8.10","8.9","8.8","8.7","8.6","8.5","8.4","8.3","8.1","8.0","7.9","7.8","7.7","7.6","7.5","7.4","7.3","7.2","6.6"],"description":"An archetype that generates a plugin for the Opencast Theodul Player"},{"artifactId":"admin-archetype","groupId":"org.opencoweb","versions":["1.0","0.8.4","0.8.3","0.8","0.7","0.6","0.5","0.4","0.8.3.1"]},{"artifactId":"coweb-archetype","groupId":"org.opencoweb","versions":["1.0","0.8.4","0.8.3","0.8.2","0.8.1","0.8","0.7","0.6","0.5","0.4","0.8.3.1"]},{"artifactId":"opendaylight-startup-archetype","groupId":"org.opendaylight.archetypes","versions":["1.2.2","1.2.1","1.2.0","1.1.3","1.1.2","1.1.1","1.1.0"]},{"artifactId":"config-module-archetype","groupId":"org.opendaylight.controller","versions":["0.5.4-Boron-SR4","0.5.3-Boron-SR3","0.5.2-Boron-SR2","0.5.1-Boron-SR1","0.5.0-Boron","0.4.4-Beryllium-SR4","0.4.3-Beryllium-SR3","0.4.2-Beryllium-SR2","0.4.1-Beryllium-SR1","0.4.0-Beryllium","0.3.4-Lithium-SR4","0.3.3-Lithium-SR3","0.3.2-Lithium-SR2","0.3.1-Lithium-SR1","0.3.0-Lithium","0.2.9-Helium-SR4","0.2.8-Helium-SR3","0.2.7-Helium-SR2","0.2.6-Helium-SR1","0.2.6-Helium-SR1.1","0.2.5-Helium"],"description":"Archetype for new module managed by configuration subsystem"},{"artifactId":"opendaylight-configfile-archetype","groupId":"org.opendaylight.controller","versions":["1.4.4-Boron-SR4","1.4.3-Boron-SR3","1.4.2-Boron-SR2","1.4.1-Boron-SR1","1.4.0-Boron","1.3.4-Beryllium-SR4","1.3.3-Beryllium-SR3","1.3.2-Beryllium-SR2","1.3.1-Beryllium-SR1","1.3.0-Beryllium","1.2.4-Lithium-SR4","1.2.3-Lithium-SR3","1.2.2-Lithium-SR2","1.2.1-Lithium-SR1","1.2.0-Lithium","1.1.4-Helium-SR4","1.1.3-Helium-SR3","1.1.2-Helium-SR2","1.1.1-Helium-SR1","1.1.1-Helium-SR1.1","1.1-Helium"],"description":"Configuration files for md-sal"},{"artifactId":"opendaylight-karaf-distro-archetype","groupId":"org.opendaylight.controller","versions":["1.3.4-Boron-SR4","1.3.3-Boron-SR3","1.3.2-Boron-SR2","1.3.1-Boron-SR1","1.3.0-Boron","1.2.4-Beryllium-SR4","1.2.3-Beryllium-SR3","1.2.2-Beryllium-SR2","1.2.1-Beryllium-SR1","1.2.0-Beryllium","1.1.4-Lithium-SR4","1.1.3-Lithium-SR3","1.1.2-Lithium-SR2","1.1.1-Lithium-SR1","1.1.0-Lithium","1.0.4-Helium-SR4","1.0.3-Helium-SR3","1.0.2-Helium-SR2","1.0.1-Helium-SR1","1.0.1-Helium-SR1.1","1.0.0-Helium"]},{"artifactId":"opendaylight-karaf-features-archetype","groupId":"org.opendaylight.controller","versions":["1.3.4-Boron-SR4","1.3.3-Boron-SR3","1.3.2-Boron-SR2","1.3.1-Boron-SR1","1.3.0-Boron","1.2.4-Beryllium-SR4","1.2.3-Beryllium-SR3","1.2.2-Beryllium-SR2","1.2.1-Beryllium-SR1","1.2.0-Beryllium","1.1.4-Lithium-SR4","1.1.3-Lithium-SR3","1.1.2-Lithium-SR2","1.1.1-Lithium-SR1","1.1.0-Lithium","1.0.4-Helium-SR4","1.0.3-Helium-SR3","1.0.2-Helium-SR2","1.0.1-Helium-SR1","1.0.1-Helium-SR1.1","1.0.0-Helium"]},{"artifactId":"opendaylight-startup-archetype","groupId":"org.opendaylight.controller","versions":["1.9.3","1.9.2","1.9.1","1.9.0","1.8.4","1.8.3","1.8.2","1.8.1","1.8.0","1.7.3","1.7.2","1.7.1","1.7.0","1.6.3","1.6.2","1.6.1","1.6.0","1.5.4","1.5.3","1.5.2","1.5.1","1.5.0","1.4.3","1.4.2","1.4.1","1.4.0","1.3.4-Carbon","1.3.3-Carbon","1.3.2-Carbon","1.3.1-Carbon","1.3.0-Carbon","1.2.4-Boron-SR4","1.2.3-Boron-SR3","1.2.2-Boron-SR2","1.2.1-Boron-SR1","1.2.0-Boron","1.1.4-Beryllium-SR4","1.1.3-Beryllium-SR3","1.1.2-Beryllium-SR2","1.1.1-Beryllium-SR1","1.1.0-Beryllium","1.0.4-Lithium-SR4","1.0.3-Lithium-SR3","1.0.2-Lithium-SR2","1.0.1-Lithium-SR1","1.0.0-Lithium"]},{"artifactId":"odl-model-project","groupId":"org.opendaylight.controller.archetypes","versions":["1.4.4-Boron-SR4","1.4.3-Boron-SR3","1.4.2-Boron-SR2","1.4.1-Boron-SR1","1.4.0-Boron","1.3.4-Beryllium-SR4","1.3.3-Beryllium-SR3","1.3.2-Beryllium-SR2","1.3.1-Beryllium-SR1","1.3.0-Beryllium","1.2.4-Lithium-SR4","1.2.3-Lithium-SR3","1.2.2-Lithium-SR2","1.2.1-Lithium-SR1","1.2.0-Lithium","1.1.4-Helium-SR4","1.1.3-Helium-SR3","1.1.2-Helium-SR2","1.1.1-Helium-SR1","1.1.1-Helium-SR1.1","1.1-Helium","1.0"]},{"artifactId":"dlux-app","groupId":"org.opendaylight.dlux","versions":["0.9.2","0.9.1","0.8.3","0.8.2","0.7.4","0.7.3","0.7.2","0.7.1","0.7.0","0.6.3","0.6.2","0.6.1","0.6.0","0.5.4-Carbon","0.5.3-Carbon","0.5.2-Carbon","0.5.1-Carbon","0.5.0-Carbon","0.4.4-Boron-SR4","0.4.3-Boron-SR3","0.4.2-Boron-SR2","0.4.1-Boron-SR1","0.4.0-Boron","0.3.4-Beryllium-SR4","0.3.3-Beryllium-SR3","0.3.2-Beryllium-SR2","0.3.1-Beryllium-SR1","0.3.0-Beryllium","0.2.4-Lithium-SR4","0.2.3-Lithium-SR3","0.2.2-Lithium-SR2","0.2.1-Lithium-SR1"]},{"artifactId":"dluxapps-application-archetype","groupId":"org.opendaylight.dluxapps","versions":["0.7.4","0.7.3","0.7.2","0.7.1","0.7.0","0.6.3","0.6.2","0.6.1","0.6.0","0.5.4-Carbon","0.5.3-Carbon","0.5.2-Carbon","0.5.1-Carbon","0.5.0-Carbon"]},{"artifactId":"ipf-archetype-basic","groupId":"org.openehealth.ipf.archetypes","versions":["3.4-20170926","3.3-20170504","3.3.0","3.2.1","3.2-20161124","3.2-20161005","3.2.0","3.2-rc2","3.2-rc1","3.1.1","3.1-20160314","3.1-20160122","3.1-20151130","3.1.0","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0"]},{"artifactId":"openengsb-tooling-archetypes-connector","groupId":"org.openengsb.tooling.archetypes","versions":["2.1.1","2.1.0","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","1.3.0.M3","1.3.0.M2","1.3.0.M1","1.2.2.RELEASE","1.2.1.RELEASE","1.2.0.RELEASE","1.2.0.RC3","1.2.0.RC2","1.2.0.RC1","1.2.0.M5","1.2.0.M4","1.2.0.M3","1.2.0.M2","1.2.0.M1","1.1.7.RELEASE","1.1.6.RELEASE","1.1.5.RELEASE","1.1.4.RELEASE","1.1.3.RELEASE","1.1.2.RELEASE","1.1.1.RELEASE","1.1.0.RELEASE","1.1.0.RC3","1.1.0.RC2","1.1.0.RC1","1.1.0.M4","1.1.0.M3","1.1.0.M2","1.1.0.M1","1.0.6.RELEASE","1.0.5.RELEASE","1.0.4.RELEASE","1.0.3.RELEASE","1.0.2.RELEASE","1.0.1.RELEASE","1.0.0.RELEASE","1.0.0.RC5","1.0.0.RC4","1.0.0.RC3","1.0.0.RC2","1.0.0.RC1","1.0.0.M7","1.0.0.M6"],"description":"Archetype to produce new Connector project"},{"artifactId":"openengsb-tooling-archetypes-domain","groupId":"org.openengsb.tooling.archetypes","versions":["2.1.1","2.1.0","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","1.3.0.M3","1.3.0.M2","1.3.0.M1","1.2.2.RELEASE","1.2.1.RELEASE","1.2.0.RELEASE","1.2.0.RC3","1.2.0.RC2","1.2.0.RC1","1.2.0.M5","1.2.0.M4","1.2.0.M3","1.2.0.M2","1.2.0.M1","1.1.7.RELEASE","1.1.6.RELEASE","1.1.5.RELEASE","1.1.4.RELEASE","1.1.3.RELEASE","1.1.2.RELEASE","1.1.1.RELEASE","1.1.0.RELEASE","1.1.0.RC3","1.1.0.RC2","1.1.0.RC1","1.1.0.M4","1.1.0.M3","1.1.0.M2","1.1.0.M1","1.0.6.RELEASE","1.0.5.RELEASE","1.0.4.RELEASE","1.0.3.RELEASE","1.0.2.RELEASE","1.0.1.RELEASE","1.0.0.RELEASE","1.0.0.RC5","1.0.0.RC4","1.0.0.RC3","1.0.0.RC2","1.0.0.RC1","1.0.0.M7","1.0.0.M6"],"description":"Archetype to produce new Domain project"},{"artifactId":"org.openengsb.tooling.archetypes.connector","groupId":"org.openengsb.tooling.archetypes","versions":["2.5.1","2.5.0","2.4.5","2.4.4","2.4.3","2.4.2","2.4.1","2.4.0","2.3.2","2.3.1","2.3.0","2.2.2","2.2.1","2.2.0","2.1.2","3.0.0.M2","3.0.0.M1"],"description":"Archetype to produce new Connector project"},{"artifactId":"org.openengsb.tooling.archetypes.domain","groupId":"org.openengsb.tooling.archetypes","versions":["2.5.1","2.5.0","2.4.5","2.4.4","2.4.3","2.4.2","2.4.1","2.4.0","2.3.2","2.3.1","2.3.0","2.2.2","2.2.1","2.2.0","2.1.2","3.0.0.M2","3.0.0.M1"],"description":"Archetype to produce new Domain project"},{"artifactId":"org.openengsb.tooling.archetypes.clientproject.root","groupId":"org.openengsb.tooling.archetypes.clientproject","versions":["2.5.1","2.5.0","2.4.5","2.4.4","2.4.3","2.4.2","2.4.1","2.4.0","2.3.2","2.3.1","2.3.0","2.2.2","2.2.1","2.2.0","2.1.2","2.1.1","2.1.0","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","1.3.0.M3","1.3.0.M2","1.3.0.M1","1.2.2.RELEASE","1.2.1.RELEASE","1.2.0.RELEASE","1.2.0.RC3","1.2.0.RC2","1.2.0.RC1","1.2.0.M5"],"description":"Archetype to produce new client project"},{"artifactId":"ets-archetype-testng","groupId":"org.opengis.cite","versions":["2.7","2.6","2.5","2.4","2.3","2.2","2.1","2.0"],"description":"A template for creating an executable test suite (ETS) based on the TestNG framework."},{"artifactId":"openimaj-quickstart-archetype","groupId":"org.openimaj","versions":["1.3.10","1.3.9","1.3.8","1.3.7","1.3.6","1.3.5","1.3.1","1.3"],"description":"Maven quickstart archetype for OpenIMAJ"},{"artifactId":"openimaj-subproject-archetype","groupId":"org.openimaj","versions":["1.3.10","1.3.9","1.3.8","1.3.7","1.3.6","1.3.5","1.3.1","1.3"],"description":"Maven archetype for creating OpenIMAJ subprojects with the most of the standard configuration completed automatically"},{"artifactId":"jcstress-java-test-archetype","groupId":"org.openjdk.jcstress","versions":["0.16","0.15","0.14","0.13","0.12","0.11","0.10","0.9","0.8","0.7","0.6","0.5","0.4","0.3","0.2","0.1.2","0.1.1","0.1"],"description":"Generates JCStress test project."},{"artifactId":"jmh-groovy-benchmark-archetype","groupId":"org.openjdk.jmh","versions":["1.36","1.35","1.34","1.33","1.32","1.31","1.30","1.29","1.28","1.27","1.26","1.25.2","1.25.1","1.25","1.24","1.23","1.22","1.21","1.20","1.19","1.18","1.17.5","1.17.4","1.17.3","1.17.2","1.17.1","1.17","1.16","1.15","1.14.1","1.14","1.13","1.12","1.11.3","1.11.2","1.11.1","1.11","1.10.5","1.10.4","1.10.3","1.10.2","1.10.1","1.10","1.9.3","1.9.2","1.9.1","1.9","1.8","1.7.1","1.7","1.6.3","1.6.2","1.6.1","1.6","1.5.2","1.5.1","1.5","1.4.2","1.4.1","1.4","1.3.4","1.3.3","1.3.2","1.3.1","1.3","1.2","1.1.1","1.1","1.0.1","1.0","0.9.8","0.9.7","0.9.6","0.9.5","0.9.4","0.9.3","0.9.2","0.9.1","0.9","0.8","0.7.3","0.7.2","0.7.1","0.7","0.6","0.5.7","0.5.6","0.5.5","0.5.4","0.5.3","0.5.2","0.5"],"description":"Generates Groovy benchmarking project, uses JMH bytecode processors"},{"artifactId":"jmh-java-benchmark-archetype","groupId":"org.openjdk.jmh","versions":["1.36","1.35","1.34","1.33","1.32","1.31","1.30","1.29","1.28","1.27","1.26","1.25.2","1.25.1","1.25","1.24","1.23","1.22","1.21","1.20","1.19","1.18","1.17.5","1.17.4","1.17.3","1.17.2","1.17.1","1.17","1.16","1.15","1.14.1","1.14","1.13","1.12","1.11.3","1.11.2","1.11.1","1.11","1.10.5","1.10.4","1.10.3","1.10.2","1.10.1","1.10","1.9.3","1.9.2","1.9.1","1.9","1.8","1.7.1","1.7","1.6.3","1.6.2","1.6.1","1.6","1.5.2","1.5.1","1.5","1.4.2","1.4.1","1.4","1.3.4","1.3.3","1.3.2","1.3.1","1.3","1.2","1.1.1","1.1","1.0.1","1.0","0.9.8","0.9.7","0.9.6","0.9.5","0.9.4","0.9.3","0.9.2","0.9.1","0.9","0.8","0.7.3","0.7.2","0.7.1","0.7","0.6","0.5.7","0.5.6","0.5.5","0.5.4","0.5.3","0.5.2","0.5"],"description":"Generates Java benchmarking project, uses JMH annotation processors"},{"artifactId":"jmh-kotlin-benchmark-archetype","groupId":"org.openjdk.jmh","versions":["1.36","1.35","1.34","1.33","1.32","1.31","1.30","1.29","1.28","1.27","1.26","1.25.2","1.25.1","1.25","1.24","1.23","1.22","1.21","1.20","1.19","1.18","1.17.5","1.17.4","1.17.3","1.17.2","1.17.1","1.17","1.16","1.15","1.14.1","1.14","1.13","1.12","1.11.3","1.11.2","1.11.1","1.11","1.10.5","1.10.4","1.10.3","1.10.2","1.10.1","1.10","1.9.3","1.9.2","1.9.1","1.9","1.8","1.7.1","1.7","1.6.3","1.6.2","1.6.1","1.6","1.5.2","1.5.1","1.5","1.4.2","1.4.1","1.4","1.3.4","1.3.3","1.3.2","1.3.1","1.3","1.2","1.1.1","1.1","1.0.1","1.0","0.9.8","0.9.7","0.9.6","0.9.5","0.9.4","0.9.3","0.9.2","0.9.1","0.9","0.8","0.7.3","0.7.2","0.7.1","0.7","0.6","0.5.7","0.5.6","0.5.5","0.5.4","0.5.3","0.5.2","0.5"],"description":"Generates Kotlin benchmarking project, uses JMH bytecode processors"},{"artifactId":"jmh-scala-benchmark-archetype","groupId":"org.openjdk.jmh","versions":["1.36","1.35","1.34","1.33","1.32","1.31","1.30","1.29","1.28","1.27","1.26","1.25.2","1.25.1","1.25","1.24","1.23","1.22","1.21","1.20","1.19","1.18","1.17.5","1.17.4","1.17.3","1.17.2","1.17.1","1.17","1.16","1.15","1.14.1","1.14","1.13","1.12","1.11.3","1.11.2","1.11.1","1.11","1.10.5","1.10.4","1.10.3","1.10.2","1.10.1","1.10","1.9.3","1.9.2","1.9.1","1.9","1.8","1.7.1","1.7","1.6.3","1.6.2","1.6.1","1.6","1.5.2","1.5.1","1.5","1.4.2","1.4.1","1.4","1.3.4","1.3.3","1.3.2","1.3.1","1.3","1.2","1.1.1","1.1","1.0.1","1.0","0.9.8","0.9.7","0.9.6","0.9.5","0.9.4","0.9.3","0.9.2","0.9.1","0.9","0.8","0.7.3","0.7.2","0.7.1","0.7","0.6","0.5.7","0.5.6","0.5.5","0.5.4","0.5.3","0.5.2","0.5"],"description":"Generates Scala benchmarking project, uses JMH bytecode processors"},{"artifactId":"jmh-simple-benchmark-archetype","groupId":"org.openjdk.jmh","versions":["0.4.2","0.4.1","0.4","0.3.2","0.3.1","0.3","0.2.1","0.2","0.1"],"description":"Basic archetype for simple JMH-driven benchmark."},{"artifactId":"javafx-archetype-fxml","groupId":"org.openjfx","versions":["0.0.6","0.0.5","0.0.4","0.0.3","0.0.2","0.0.1"]},{"artifactId":"javafx-archetype-simple","groupId":"org.openjfx","versions":["0.0.6","0.0.5","0.0.4","0.0.3","0.0.2","0.0.1"]},{"artifactId":"openl-project-archetype","groupId":"org.openl.rules","versions":["5.26.5","5.26.4","5.26.3","5.26.2","5.26.1","5.26.0","5.25.15","5.25.14","5.25.13","5.25.12","5.25.11","5.25.10","5.25.9","5.25.8","5.25.7","5.25.6","5.25.5","5.25.4","5.25.3","5.25.2","5.25.1","5.25.0","5.24.12","5.24.11","5.24.10","5.24.9","5.24.8","5.24.7","5.24.6","5.24.5","5.24.4","5.24.3","5.24.2","5.24.1","5.24.0","5.23.16","5.23.15","5.23.14","5.23.13","5.23.12","5.23.11","5.23.10","5.23.9","5.23.8","5.23.7","5.23.6","5.23.5","5.23.4","5.23.7.1","5.23.5.1"]},{"artifactId":"openl-simple-project","groupId":"org.openl.rules","versions":["1.0.0"]},{"artifactId":"openl-simple-project-archetype","groupId":"org.openl.rules","versions":["5.26.5","5.26.4","5.26.3","5.26.2","5.26.1","5.26.0","5.25.15","5.25.14","5.25.13","5.25.12","5.25.11","5.25.10","5.25.9","5.25.8","5.25.7","5.25.6","5.25.5","5.25.4","5.25.3","5.25.2","5.25.1","5.25.0","5.24.12","5.24.11","5.24.10","5.24.9","5.24.8","5.24.7","5.24.6","5.24.5","5.24.4","5.24.3","5.24.2","5.24.1","5.24.0","5.23.16","5.23.15","5.23.14","5.23.13","5.23.12","5.23.11","5.23.10","5.23.9","5.23.8","5.23.7","5.23.6","5.23.5","5.23.4","5.23.3","5.23.2","5.23.1","5.23.0","5.22.7","5.22.6","5.22.5","5.22.4","5.22.3","5.22.2","5.22.1","5.22.0","5.21.16","5.21.15","5.21.14","5.21.13","5.21.12","5.21.11","5.21.10","5.21.9","5.21.8","5.21.7","5.21.6","5.21.5","5.21.4","5.21.3","5.21.2","5.21.1","5.21.0","5.20.4","5.20.3","5.20.2","5.20.1","5.20.0","5.19.9","5.19.8","5.19.7","5.19.6","5.19.5","5.19.4","5.19.3","5.19.2","5.19.1","5.19.0","5.18.5","5.18.4","5.18.3","5.18.2","5.18.1","5.18.0","5.17.4","5.17.3","5.17.2","5.17.1","5.17.0","5.16.5","5.16.4","5.16.3","5.16.2","5.16.1","5.16.0","5.15.4","5.15.3","5.15.2","5.15.1","5.15.0","5.14.0","5.13.2","5.13.1","5.13.0","5.12.2","5.12.1","5.12.0","5.11.7","5.11.6","5.11.5","5.11.4","5.11.3","5.11.2","5.11.1","5.11.0","5.23.7.1","5.23.5.1","5.22.0.1","5.21.10.1","5.19.7.1","5.19.5.1","5.19.1.1","5.12.1.2","5.12.1.1"]},{"artifactId":"openmrs-sdk-archetype-module-platform","groupId":"org.openmrs.maven.archetypes","versions":["4.4.0","4.3.0","4.2.0","4.1.1","4.1.0","4.0.1","4.0.0","3.13.9","3.13.0","3.12.3","3.12.2","3.12.1","3.12.0","3.11.0","3.10.1","3.10.0","3.9.0","3.8.2","3.8.1","3.8.0","3.7.0","3.6.1","3.5.0","3.4.5","3.4.3","3.4.1","3.4.0","3.3.2","3.3.1","3.3.0","3.2.1","3.2.0","3.1.3","3.1.2","3.1.1"]},{"artifactId":"openmrs-sdk-archetype-module-refapp","groupId":"org.openmrs.maven.archetypes","versions":["4.4.0","4.3.0","4.2.0","4.1.1","4.1.0","4.0.1","4.0.0","3.13.9","3.13.0","3.12.3","3.12.2","3.12.1","3.12.0","3.11.0","3.10.1","3.10.0","3.9.0","3.8.2","3.8.1","3.8.0","3.7.0","3.6.1","3.5.0","3.4.5","3.4.3","3.4.1","3.4.0","3.3.2","3.3.1","3.3.0","3.2.1","3.2.0","3.1.3","3.1.2","3.1.1"]},{"artifactId":"openmrs-sdk-archetype-submodule-owa","groupId":"org.openmrs.maven.archetypes","versions":["4.4.0","4.3.0","4.2.0","4.1.1","4.1.0","4.0.1","4.0.0","3.13.9","3.13.0","3.12.3","3.12.2","3.12.1","3.12.0","3.11.0","3.10.1","3.10.0","3.9.0","3.8.2","3.8.1","3.8.0","3.7.0","3.6.1","3.5.0"]},{"artifactId":"example-kar-plugin","groupId":"org.opennms.integration.api","versions":["1.3.0","1.2.0","1.1.0","1.0.1","1.0.0","0.6.0"]},{"artifactId":"odp-maven-archetype","groupId":"org.openntf.maven","versions":["0.0.2"]},{"artifactId":"sbt.sso.webapp-archetype","groupId":"org.openntf.sbt","versions":["1.5.0.20160704-1200"]},{"artifactId":"singular-default-requirement-archetype","groupId":"org.opensingular","versions":["1.9.1-RC1","1.8.0-RC3","1.8.0-RC2","1.6.8","1.6.7","1.6.6","1.6.3"],"description":"Singular server"},{"artifactId":"openxava-archetype","groupId":"org.openxava","versions":["7.0.6","7.0.5","7.0.4","7.0.3","7.0.2","7.0.1","7.0","7.0-RC1","7.0-BETA2","7.0-BETA1","7.X.X"],"description":"Archetype for creating a new OpenXava project"},{"artifactId":"openxava-archetype-spanish","groupId":"org.openxava","versions":["7.0.6","7.0.5","7.0.4","7.0.3","7.0.2","7.0.1","7.0","7.0-RC1","7.0-BETA2","7.0-BETA1","7.X.X"],"description":"Archetype for creating a new OpenXava project in Spanish"},{"artifactId":"opoopress-archetype-site","groupId":"org.opoo.press.maven.archetypes","versions":["2.0-beta-1"],"description":"Archetype for creating a basic OpooPress site with sample plugin."},{"artifactId":"opoopress-archetype-site-blank","groupId":"org.opoo.press.maven.archetypes","versions":["2.0-beta-1"],"description":"Archetype for creating a blank OpooPress site."},{"artifactId":"opoopress-archetype-theme","groupId":"org.opoo.press.maven.archetypes","versions":["2.0-beta-1"],"description":"Archetype for creating a blank OpooPress theme project.\n artifactId must be start with prefix: 'opoopress-theme-'.'"},{"artifactId":"maven-archetype-osgi-bundle","groupId":"org.ops4j.pax.construct","versions":["1.6.0","1.5","1.0.3","1.0.2","1.0"]},{"artifactId":"maven-archetype-osgi-project","groupId":"org.ops4j.pax.construct","versions":["1.6.0","1.5","1.0.3","1.0.2","1.0"]},{"artifactId":"maven-archetype-osgi-service","groupId":"org.ops4j.pax.construct","versions":["1.6.0","1.5","1.0.3","1.0.2","1.0"]},{"artifactId":"maven-archetype-osgi-wrapper","groupId":"org.ops4j.pax.construct","versions":["1.6.0","1.5","1.0.3","1.0.2","1.0.1","1.0"]},{"artifactId":"maven-archetype-spring-bean","groupId":"org.ops4j.pax.construct","versions":["1.6.0","1.5","1.0.3","1.0.2","1.0"]},{"artifactId":"maven-archetype-paxexam-junit","groupId":"org.ops4j.pax.exam","versions":["1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.0","1.0.0"],"description":""},{"artifactId":"exam-glassfish41-archetype","groupId":"org.ops4j.pax.exam.archetypes","versions":["4.13.5","4.13.4","4.13.3","4.13.2","4.13.1","4.13.0","4.12.0","4.11.0","4.10.0","4.9.2","4.9.1","4.9.0","4.8.0","4.7.0","4.6.0","4.5.0","4.4.0","4.3.0"],"description":"Archetype for Pax Exam tests on GlassFish 4.1"},{"artifactId":"exam-karaf-archetype","groupId":"org.ops4j.pax.exam.archetypes","versions":["4.13.5","4.13.4","4.13.3","4.13.2","4.13.1","4.13.0","4.12.0","4.11.0","4.10.0","4.9.2","4.9.1","4.9.0","4.8.0","4.7.0","4.6.0"],"description":"Archetype for Pax Exam tests on Karaf"},{"artifactId":"exam-osgi-archetype","groupId":"org.ops4j.pax.exam.archetypes","versions":["4.13.5","4.13.4","4.13.3","4.13.2","4.13.1","4.13.0","4.12.0","4.11.0","4.10.0","4.9.2","4.9.1","4.9.0","4.8.0","4.7.0","4.6.0","4.5.0","4.4.0","4.3.0"],"description":"Archetype for Pax Exam tests on OSGi frameworks"},{"artifactId":"exam-wildfly80-archetype","groupId":"org.ops4j.pax.exam.archetypes","versions":["4.13.5","4.13.4","4.13.3","4.13.2","4.13.1","4.13.0","4.12.0","4.11.0","4.10.0","4.9.2","4.9.1","4.9.0","4.8.0","4.7.0","4.6.0","4.5.0","4.4.0","4.3.0"],"description":"Archetype for Pax Exam tests on WildFly 8.0"},{"artifactId":"wab-archetype","groupId":"org.ops4j.pax.web.archetypes","versions":["7.4.6","7.4.5","7.4.4","7.4.3","7.4.2","7.4.1","7.4.0","7.3.28","7.3.27","7.3.26","7.3.25","7.3.24","7.3.23","7.3.22","7.3.21","7.3.20","7.3.19","7.3.18","7.3.17","7.3.16","7.3.15","7.3.14","7.3.13","7.3.12","7.3.11","7.3.10","7.3.9","7.3.8","7.3.7","7.3.6","7.3.5","7.3.4","7.3.3","7.3.2","7.3.1","7.3.0","7.2.30","7.2.29","7.2.28","7.2.27","7.2.26","7.2.25","7.2.24","7.2.23","7.2.22","7.2.21","7.2.20","7.2.19","7.2.18","7.2.17","7.2.16","7.2.15","7.2.14","7.2.13","7.2.12","7.2.11","7.2.10","7.2.9","7.2.8","7.2.7","7.2.6","7.2.5","7.2.4","7.2.3","7.2.2","7.2.1","7.2.0","7.1.1","7.1.0","7.0.0","6.1.2","6.1.1","6.1.0","6.0.12","6.0.11","6.0.10","6.0.9","6.0.8","6.0.7","6.0.6","6.0.5","6.0.4","6.0.3","6.0.2","6.0.1","6.0.0","4.4.2","4.4.1","4.4.0","4.3.6","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3.0","4.2.8","4.2.7","4.2.6","4.2.5","4.2.4","4.2.3","4.2.2","4.2.1","4.2.0","4.1.4","4.1.3","4.1.2","4.1.1","4.1.0","4.0.2","4.0.1","4.0.0","3.3.2","3.3.1","3.3.0","3.2.9","3.2.8","3.2.7","3.2.6","3.2.5","3.2.4","3.2.3","3.2.2","3.2.1","3.2.0","3.1.6","3.1.5","3.1.4","3.1.3","3.1.2","3.1.1","3.1.0","3.0.10","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.1.6","2.1.5","2.1.4","2.1.3","2.1.2","2.1.1","2.1.0","2.0.2","2.0.1","2.0.0","1.1.18","1.1.17","1.1.16","1.1.15","1.1.14","1.1.13","1.1.12","1.1.11","1.1.10","1.1.9","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","3.0.0.RC","3.0.0.M3","3.0.0.M2","3.0.0.M1"]},{"artifactId":"wab-gwt-archetype","groupId":"org.ops4j.pax.web.archetypes","versions":["7.4.6","7.4.5","7.4.4","7.4.3","7.4.2","7.4.1","7.4.0","7.3.28","7.3.27","7.3.26","7.3.25","7.3.24","7.3.23","7.3.22","7.3.21","7.3.20","7.3.19","7.3.18","7.3.17","7.3.16","7.3.15","7.3.14","7.3.13","7.3.12","7.3.11","7.3.10","7.3.9","7.3.8","7.3.7","7.3.6","7.3.5","7.3.4","7.3.3","7.3.2","7.3.1","7.3.0","7.2.30","7.2.29","7.2.28","7.2.27","7.2.26","7.2.25","7.2.24","7.2.23","7.2.22","7.2.21","7.2.20","7.2.19","7.2.18","7.2.17","7.2.16","7.2.15","7.2.14","7.2.13","7.2.12","7.2.11","7.2.10","7.2.9","7.2.8","7.2.7","7.2.6","7.2.5","7.2.4","7.2.3","7.2.2","7.2.1","7.2.0","7.1.1","7.1.0","7.0.0","6.1.2","6.1.1","6.1.0","6.0.12","6.0.11","6.0.10","6.0.9","6.0.8","6.0.7","6.0.6","6.0.5","6.0.4","6.0.3","6.0.2","6.0.1","6.0.0","4.4.2","4.4.1","4.4.0","4.3.6","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3.0","4.2.8","4.2.7","4.2.6","4.2.5","4.2.4","4.2.3","4.2.2","4.2.1","4.2.0","4.1.4","4.1.3","4.1.2","4.1.1","4.1.0","4.0.2","4.0.1","4.0.0","3.3.2","3.3.1","3.3.0","3.2.9","3.2.8","3.2.7","3.2.6","3.2.5","3.2.4","3.2.3","3.2.2","3.2.1","3.2.0","3.1.6","3.1.5","3.1.4","3.1.3","3.1.2","3.1.1","3.1.0","3.0.10","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.1.6","2.1.5","2.1.4","2.1.3","2.1.2","2.1.1","2.1.0","2.0.2","2.0.1","2.0.0","1.1.18","1.1.17","1.1.16","1.1.15","1.1.14","1.1.13","1.1.12","1.1.11","1.1.10","1.1.9","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","3.0.0.RC","3.0.0.M3","3.0.0.M2","3.0.0.M1"]},{"artifactId":"war-archetype","groupId":"org.ops4j.pax.web.archetypes","versions":["7.4.6","7.4.5","7.4.4","7.4.3","7.4.2","7.4.1","7.4.0","7.3.28","7.3.27","7.3.26","7.3.25","7.3.24","7.3.23","7.3.22","7.3.21","7.3.20","7.3.19","7.3.18","7.3.17","7.3.16","7.3.15","7.3.14","7.3.13","7.3.12","7.3.11","7.3.10","7.3.9","7.3.8","7.3.7","7.3.6","7.3.5","7.3.4","7.3.3","7.3.2","7.3.1","7.3.0","7.2.30","7.2.29","7.2.28","7.2.27","7.2.26","7.2.25","7.2.24","7.2.23","7.2.22","7.2.21","7.2.20","7.2.19","7.2.18","7.2.17","7.2.16","7.2.15","7.2.14","7.2.13","7.2.12","7.2.11","7.2.10","7.2.9","7.2.8","7.2.7","7.2.6","7.2.5","7.2.4","7.2.3","7.2.2","7.2.1","7.2.0","7.1.1","7.1.0","7.0.0","6.1.2","6.1.1","6.1.0","6.0.12","6.0.11","6.0.10","6.0.9","6.0.8","6.0.7","6.0.6","6.0.5","6.0.4","6.0.3","6.0.2","6.0.1","6.0.0","4.4.2","4.4.1","4.4.0","4.3.6","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3.0","4.2.8","4.2.7","4.2.6","4.2.5","4.2.4","4.2.3","4.2.2","4.2.1","4.2.0","4.1.4","4.1.3","4.1.2","4.1.1","4.1.0","4.0.2","4.0.1","4.0.0","3.3.2","3.3.1","3.3.0","3.2.9","3.2.8","3.2.7","3.2.6","3.2.5","3.2.4","3.2.3","3.2.2","3.2.1","3.2.0","3.1.6","3.1.5","3.1.4","3.1.3","3.1.2","3.1.1","3.1.0","3.0.10","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.1.6","2.1.5","2.1.4","2.1.3","2.1.2","2.1.1","2.1.0","2.0.2","2.0.1","2.0.0","1.1.18","1.1.17","1.1.16","1.1.15","1.1.14","1.1.13","1.1.12","1.1.11","1.1.10","1.1.9","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","3.0.0.RC","3.0.0.M3","3.0.0.M2","3.0.0.M1"]},{"artifactId":"project-archetype","groupId":"org.orbisgis","versions":["1.2.0","1.1.0","1.0.4","1.0.3"],"description":"Basic Maven archetype for the creation of a simple project able to integrate the OrbisGIS platform."},{"artifactId":"orienteer-archetype-jar","groupId":"org.orienteer","versions":["1.5","1.4","1.3","1.2"],"description":"An maven archetype for custom Orienteer jar modules"},{"artifactId":"orienteer-archetype-war","groupId":"org.orienteer","versions":["1.5","1.4","1.3","1.2","1.1","1.0"],"description":"An maven archetype for custom Orienteer based WAR"},{"artifactId":"api","groupId":"org.osgi.enroute.archetype","versions":["7.0.0"],"description":"An archetype for generating an OSGi enRoute R7 API module"},{"artifactId":"application","groupId":"org.osgi.enroute.archetype","versions":["7.0.0"],"description":"An archetype for generating an OSGi enRoute R7 runnable application"},{"artifactId":"bundle-test","groupId":"org.osgi.enroute.archetype","versions":["7.0.0"],"description":"An archetype for generating an OSGi enRoute R7 Bundle Test module"},{"artifactId":"ds-component","groupId":"org.osgi.enroute.archetype","versions":["7.0.0"],"description":"An archetype for generating an OSGi enRoute R7 Declarative Services Component module"},{"artifactId":"project","groupId":"org.osgi.enroute.archetype","versions":["7.0.0"],"description":"An archetype for generating an OSGi enRoute R7 project build"},{"artifactId":"project-bare","groupId":"org.osgi.enroute.archetype","versions":["7.0.0"],"description":"An archetype for generating a bare OSGi enRoute R7 project build"},{"artifactId":"rest-component","groupId":"org.osgi.enroute.archetype","versions":["7.0.0"],"description":"An archetype for generating an OSGi enRoute R7 JAX-RS Whiteboard Component module"},{"artifactId":"kerneos-module-archetype","groupId":"org.ow2.jasmine.kerneos","versions":["1.3.1","1.3.1-M3","1.3.1-M2","1.3.1-M1","1.2.1"]},{"artifactId":"kerneos-war-archetype","groupId":"org.ow2.jasmine.kerneos","versions":["1.3.1","1.3.1-M3","1.3.1-M2","1.3.1-M1","1.2.1"]},{"artifactId":"jprobe-collector-archetype","groupId":"org.ow2.jasmine.probe","versions":["1.3.0","1.2.4","1.2.3","1.2.2","1.2.1","1.1.1"]},{"artifactId":"jprobe-outer-archetype","groupId":"org.ow2.jasmine.probe","versions":["1.3.0","1.2.4","1.2.3","1.2.2","1.2.1","1.1.1"]},{"artifactId":"camel-archetype-simple-route","groupId":"org.ow2.jonas.camel","versions":["1.7.0","1.6.4","1.6.3","1.6.2","1.6.1","1.6.0","1.5.12","1.5.11","1.5.10","1.5.9","1.5.8","1.5.7","1.5.6"]},{"artifactId":"kerneos-application-archetype","groupId":"org.ow2.kerneos","versions":["2.0.0"]},{"artifactId":"kerneos-flex-archetypes-application","groupId":"org.ow2.kerneos","versions":["2.2.1","2.2.0"]},{"artifactId":"kerneos-flex-archetypes-module","groupId":"org.ow2.kerneos","versions":["2.2.1","2.2.0"]},{"artifactId":"kerneos-flex-archetypes-module-fragment","groupId":"org.ow2.kerneos","versions":["2.2.1","2.2.0"]},{"artifactId":"kerneos-module-archetype","groupId":"org.ow2.kerneos","versions":["2.0.0"]},{"artifactId":"orchestra-extension-archetype","groupId":"org.ow2.orchestra","versions":["4.9.1","4.9.0","4.9.0-M5","4.9.0-M4"],"description":"Generates extensions for Orchestra"},{"artifactId":"maven-archetype-petals-jbi-binding-component","groupId":"org.ow2.petals","versions":["1.3.1","1.3","1.2.0","1.1.0"],"description":"This project is Maven 2 archetype associated to a JBI binding component project."},{"artifactId":"maven-archetype-petals-jbi-service-assembly","groupId":"org.ow2.petals","versions":["1.3.1","1.3","1.2.0","1.1.0"],"description":"This project is Maven 2 archetype associated to a JBI service assembly project."},{"artifactId":"maven-archetype-petals-jbi-service-engine","groupId":"org.ow2.petals","versions":["1.3.1","1.3","1.2.0","1.1.0"],"description":"This project is Maven 2 archetype associated to a JBI service engine project."},{"artifactId":"maven-archetype-petals-jbi-service-unit","groupId":"org.ow2.petals","versions":["1.3.1","1.3","1.2.0","1.1.0"],"description":"This project is Maven 2 archetype associated to a JBI service unit project."},{"artifactId":"maven-archetype-petals-jbi-shared-library","groupId":"org.ow2.petals","versions":["1.3.1","1.3","1.2.0","1.1.0"],"description":"This project is Maven 2 archetype associated to a JBI Shared Library project."},{"artifactId":"shelbie-command-archetype","groupId":"org.ow2.shelbie","versions":["2.0.0-RC1","2.0.0-M3","2.0.0-M2","2.0.0-M1"]},{"artifactId":"weblab-archetype-analyser","groupId":"org.ow2.weblab.tools.maven","versions":["1.0"],"description":"The Archetype used to generate a stub for analyser. This should be called through the weblab-archetype-plugin and not directly."},{"artifactId":"weblab-archetype-configurable","groupId":"org.ow2.weblab.tools.maven","versions":["1.0"],"description":"The Archetype used to generate a stub for configurable. This should be called through the weblab-archetype-plugin and not directly."},{"artifactId":"weblab-archetype-indexer","groupId":"org.ow2.weblab.tools.maven","versions":["1.0"],"description":"The Archetype used to generate a stub for indexer. This should be called through the weblab-archetype-plugin and not directly."},{"artifactId":"weblab-archetype-queuemanager","groupId":"org.ow2.weblab.tools.maven","versions":["1.0"],"description":"The Archetype used to generate a stub for queuemanager. This should be called through the weblab-archetype-plugin and not directly."},{"artifactId":"weblab-archetype-reportprovider","groupId":"org.ow2.weblab.tools.maven","versions":["1.0"],"description":"The Archetype used to generate a stub for reportprovider. This should be called through the weblab-archetype-plugin and not directly."},{"artifactId":"weblab-archetype-resourcecontainer","groupId":"org.ow2.weblab.tools.maven","versions":["1.0"],"description":"The Archetype used to generate a stub for resourcecontainer. This should be called through the weblab-archetype-plugin and not directly."},{"artifactId":"weblab-archetype-resources","groupId":"org.ow2.weblab.tools.maven","versions":["1.0"],"description":"The Archetype used to generate a stub for any WebLab service. It should be used in conjunction with interfaces specific archetypes. This should be called through the weblab-archetype-plugin and not directly."},{"artifactId":"weblab-archetype-searcher","groupId":"org.ow2.weblab.tools.maven","versions":["1.0"],"description":"The Archetype used to generate a stub for searcher. This should be called through the weblab-archetype-plugin and not directly."},{"artifactId":"weblab-archetype-sourcereader","groupId":"org.ow2.weblab.tools.maven","versions":["1.0"],"description":"The Archetype used to generate a stub for sourcereader. This should be called through the weblab-archetype-plugin and not directly."},{"artifactId":"weblab-archetype-trainable","groupId":"org.ow2.weblab.tools.maven","versions":["1.0"],"description":"The Archetype used to generate a stub for trainable. This should be called through the weblab-archetype-plugin and not directly."},{"artifactId":"dependency-check-plugin","groupId":"org.owasp","versions":["8.1.2","8.1.1","8.1.0","8.0.2","8.0.1","8.0.0","7.4.4","7.4.3","7.4.2","7.4.1","7.4.0","7.3.2","7.3.1","7.3.0","7.2.1","7.2.0","7.1.2","7.1.1","7.1.0","7.0.4","7.0.3","7.0.2","7.0.1","7.0.0","6.5.3","6.5.2","6.5.1","6.5.0","6.4.1","6.4.0","6.3.2","6.3.1","6.3.0","6.2.2","6.2.1","6.2.0","6.1.6","6.1.5","6.1.4","6.1.3","6.1.2","6.1.1","6.1.0","6.0.5","6.0.4","5.3.2","5.3.1","5.3.0","5.2.4","5.2.3","5.2.2","5.2.1","5.2.0","5.1.1","5.1.0","5.0.0","5.0.0-M3","5.0.0-M2","5.0.0-M1","4.0.2","4.0.1","4.0.0","3.3.4","3.3.3","3.3.2","3.3.1","3.3.0","3.2.1","3.2.0","3.1.2","3.1.1","3.1.0","3.0.2","3.0.1","3.0.0","2.1.1","2.1.0","2.0.1","2.0.0","1.4.5"]},{"artifactId":"eclipse-project","groupId":"org.palladiosimulator","versions":["0.1.1","0.1.0"],"description":"An archetype to create a stub for Eclipse projects as part of the Palladio Simulator."},{"artifactId":"parallelj-archetype","groupId":"org.parallelj","versions":["1.4.1","1.4.0","1.3.3","1.3.2","1.3.1","1.3.0","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.0","1.0.0","0.7.0","0.4.0","0.3.0"],"description":"ParallelJ is a Java framework for parallel computing. It provides flow modeling and execution. This archetype projects allows to create a project skeleton using ParallelJ."},{"artifactId":"parallelj-archetype-web","groupId":"org.parallelj","versions":["1.4.1","1.4.0","1.3.3","1.3.2","1.3.1","1.3.0","1.2.4","1.2.3","1.2.2","1.2.1","1.2.0","1.1.0","1.0.0"],"description":"ParallelJ is a Java framework for parallel computing. It provides flow modeling and execution. This archetype projects allows to create a project skeleton using ParallelJ."},{"artifactId":"parancoe-pluginarchetype","groupId":"org.parancoe","versions":["2.0"]},{"artifactId":"parancoe-webarchetype","groupId":"org.parancoe","versions":["2.0.3","2.0.2","2.0.1","2.0","0.3.4","0.3.3","0.3.2","0.3"]},{"artifactId":"patterntesting-tools","groupId":"org.patterntesting","versions":["2.3.0","2.2.20-YEARS","2.2.0","2.1.2","2.1.1","2.1.0","2.0.2","2.0.1","2.0.0","1.8.0","1.7.2","1.7.1","1.7.0","1.6.3","1.6.2","1.6.1","1.6.0","1.5.2","1.5.1","1.5.0","1.4.3","1.4.2","1.4.1","1.4.0","1.3.0","1.2.20","1.2.10-YEARS","1.2.0","1.1.0"],"description":"PatternTesting Tools (patterntesting-tools) is the container for\n tools around PatternTesting like the Ant extensions and Maven plugin."},{"artifactId":"peel-flink-bundle","groupId":"org.peelframework","versions":["1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.2","1.0.1","1.0.0","1.0.0-rc7","1.0.0-rc6","1.0.0-rc5","1.0.0-rc4","1.0.0-rc3","1.0.0-rc2","1.0.0-rc1"]},{"artifactId":"peel-flinkspark-bundle","groupId":"org.peelframework","versions":["1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.2","1.0.1","1.0.0","1.0.0-rc7","1.0.0-rc6","1.0.0-rc5","1.0.0-rc4","1.0.0-rc3","1.0.0-rc2","1.0.0-rc1","1.0.0-beta"]},{"artifactId":"peel-spark-bundle","groupId":"org.peelframework","versions":["1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0","1.0.2","1.0.1","1.0.0","1.0.0-rc7","1.0.0-rc6","1.0.0-rc5","1.0.0-rc4","1.0.0-rc3","1.0.0-rc2","1.0.0-rc1"]},{"artifactId":"pf4j-quickstart","groupId":"org.pf4j","versions":["3.9.0","3.8.0","3.7.0","3.6.0","3.5.0","3.4.1","3.4.0","3.3.1","3.3.0","3.2.0","3.1.0","3.0.1"]},{"artifactId":"pousse-cafe-sample-app-archetype","groupId":"org.pousse-cafe-framework","versions":["0.26.0","0.25.0","0.24.0","0.23.1","0.23.0","0.22.0","0.21.0","0.20.0","0.19.0","0.18.0","0.17.0","0.16.1","0.16.0","0.15.0","0.14.0","0.13.1","0.13.0","0.12.0","0.11.0","0.10.0"]},{"artifactId":"pousse-cafe-sample-bounded-context-archetype","groupId":"org.pousse-cafe-framework","versions":["0.9.0","0.8.0","0.7.1","0.7.0","0.6.0","0.5.0"],"description":"Pousse-Café is a framework assisting in writing DDD-based applications. This is the archetype for sample bounded context."},{"artifactId":"pousse-cafe-simple-meta-app-archetype","groupId":"org.pousse-cafe-framework","versions":["0.4.0","0.3.0","0.1.0"],"description":"Pousse-Café is a framework assisting in writing DDD-based applications. This is a simple meta-app archetype."},{"artifactId":"meta-jee2-archetype","groupId":"org.proyecto-adalid.meta","versions":["4.6.0","4.5.0","4.4.0","4.3.0","4.2.0","4.1.0","4.0.0","3.0.0","2.1.0","2.0"],"description":"Adalid platform JEE2 meta-project archetype"},{"artifactId":"pustefix-archetype-application","groupId":"org.pustefixframework","versions":["0.23.0","0.22.22","0.22.21","0.22.20","0.22.19","0.22.18","0.22.17","0.22.16","0.22.15","0.22.14","0.22.13","0.22.12","0.22.11","0.22.10","0.22.9","0.22.8","0.22.7","0.22.6","0.22.5","0.22.4","0.22.3","0.22.2","0.22.1","0.22.0","0.21.0","0.20.32","0.20.31","0.20.30","0.20.29","0.20.28","0.20.27","0.20.26","0.20.25","0.20.24","0.20.23","0.20.22","0.20.21","0.20.20","0.20.19","0.20.18","0.20.17","0.20.16","0.20.15","0.20.14","0.20.13","0.20.12","0.20.11","0.20.10","0.20.9","0.20.8","0.20.7","0.20.6","0.20.5","0.20.4","0.20.3","0.20.2","0.20.1","0.20.0","0.19.31","0.19.30","0.19.29","0.19.28","0.19.27","0.19.26","0.19.25","0.19.24","0.19.23","0.19.22","0.19.21","0.19.20","0.19.19","0.19.18","0.19.17","0.19.16","0.19.15","0.19.14","0.19.13","0.19.12","0.19.11","0.19.10","0.19.9","0.19.8","0.19.7","0.19.6","0.19.5","0.19.4","0.18.92","0.18.91","0.18.90","0.18.89","0.18.88","0.18.87","0.18.86","0.18.85","0.18.84","0.18.83","0.18.82","0.18.81","0.18.80","0.18.79","0.18.78","0.18.77","0.18.76","0.18.75","0.18.74","0.18.73","0.18.72","0.18.71","0.18.70","0.18.69","0.18.68","0.18.67","0.18.65","0.18.63","0.18.62","0.18.61","0.18.60","0.18.59","0.18.58","0.18.57","0.18.56","0.18.55","0.18.54","0.18.53","0.18.52","0.18.51","0.18.50","0.18.49","0.18.48","0.18.47","0.18.46","0.18.45","0.18.44","0.18.43","0.18.42","0.18.41","0.18.40","0.18.39","0.18.38","0.18.37","0.18.36","0.18.35","0.18.34","0.18.33","0.18.32","0.18.31","0.18.30","0.18.29","0.18.28","0.18.27","0.18.26","0.18.25","0.18.24","0.18.23","0.18.22","0.18.21","0.18.20","0.18.19","0.18.18","0.18.17","0.18.16","0.18.15","0.18.14","0.18.13","0.18.12","0.18.11","0.18.10","0.18.9","0.18.8","0.18.7","0.18.6","0.18.5","0.18.4","0.18.3","0.18.2","0.18.1","0.18.0","0.17.4","0.17.3","0.17.2","0.17.1","0.17.0","0.16.10","0.16.9","0.16.8","0.16.7","0.16.6","0.16.5","0.16.4","0.16.3","0.15.30","0.15.29","0.15.28","0.15.27","0.15.26","0.15.25","0.15.24","0.15.23","0.15.22","0.15.21","0.15.20"],"description":"Pustefix Archetype for Applications"},{"artifactId":"pustefix-archetype-basic","groupId":"org.pustefixframework","versions":["0.23.0","0.22.22","0.22.21","0.22.20","0.22.19","0.22.18","0.22.17","0.22.16","0.22.15","0.22.14","0.22.13","0.22.12","0.22.11","0.22.10","0.22.9","0.22.8","0.22.7","0.22.6","0.22.5","0.22.4","0.22.3","0.22.2","0.22.1","0.22.0","0.21.0","0.20.32","0.20.31","0.20.30","0.20.29","0.20.28","0.20.27","0.20.26","0.20.25","0.20.24","0.20.23","0.20.22","0.20.21","0.20.20","0.20.19","0.20.18","0.20.17","0.20.16","0.20.15","0.20.14","0.20.13","0.20.12","0.20.11","0.20.10","0.20.9","0.20.8","0.20.7","0.20.6","0.20.5","0.20.4","0.20.3","0.20.2","0.20.1","0.20.0","0.19.31","0.19.30","0.19.29","0.19.28","0.19.27","0.19.26","0.19.25","0.19.24","0.19.23","0.19.22","0.19.21","0.19.20","0.19.19","0.19.18","0.19.17","0.19.16","0.19.15","0.19.14","0.19.13","0.19.12","0.19.11","0.19.10","0.19.9","0.19.8","0.19.7","0.19.6","0.19.5","0.19.4","0.18.92","0.18.91","0.18.90","0.18.89","0.18.88","0.18.87","0.18.86","0.18.85","0.18.84","0.18.83","0.18.82","0.18.81","0.18.80","0.18.79","0.18.78","0.18.77","0.18.76","0.18.75","0.18.74","0.18.73","0.18.72","0.18.71","0.18.70","0.18.69","0.18.68","0.18.67","0.18.65","0.18.63","0.18.62","0.18.61","0.18.60","0.18.59","0.18.58","0.18.57","0.18.56","0.18.55","0.18.54","0.18.53","0.18.52","0.18.51","0.18.50","0.18.49","0.18.48","0.18.47","0.18.46","0.18.45","0.18.44","0.18.43","0.18.42","0.18.41","0.18.40","0.18.39","0.18.38","0.18.37","0.18.36","0.18.35","0.18.34","0.18.33","0.18.32","0.18.31","0.18.30","0.18.29","0.18.28","0.18.27","0.18.26","0.18.25","0.18.24","0.18.23","0.18.22","0.18.21","0.18.20","0.18.19","0.18.18","0.18.17","0.18.16","0.18.15","0.18.14","0.18.13","0.18.12","0.18.11","0.18.10","0.18.9","0.18.8","0.18.7","0.18.6","0.18.5","0.18.4","0.18.3","0.18.2","0.18.1","0.18.0","0.17.4","0.17.3","0.17.2","0.17.1","0.17.0","0.16.10","0.16.9","0.16.8","0.16.7","0.16.6","0.16.5","0.16.4","0.16.3","0.15.30","0.15.29","0.15.28","0.15.27","0.15.26","0.15.25","0.15.24","0.15.23","0.15.22","0.15.21","0.15.20"],"description":"Pustefix archetype creating a basic application"},{"artifactId":"pustefix-archetype-module","groupId":"org.pustefixframework.maven.archetypes","versions":["0.23.0","0.22.22","0.22.21","0.22.20","0.22.19","0.22.18","0.22.17","0.22.16","0.22.15","0.22.14","0.22.13","0.22.12","0.22.11","0.22.10","0.22.9","0.22.8","0.22.7","0.22.6","0.22.5","0.22.4","0.22.3","0.22.2","0.22.1","0.22.0","0.21.0","0.20.32","0.20.31","0.20.30","0.20.29","0.20.28","0.20.27","0.20.26","0.20.25","0.20.24","0.20.23","0.20.22","0.20.21","0.20.20","0.20.19","0.20.18","0.20.17","0.20.16","0.20.15","0.20.14","0.20.13","0.20.12","0.20.11","0.20.10","0.20.9","0.20.8","0.20.7","0.20.6","0.20.5","0.20.4","0.20.3","0.20.2","0.20.1","0.20.0","0.19.31","0.19.30","0.19.29","0.19.28","0.19.27","0.19.26","0.19.25","0.19.24","0.19.23","0.19.22","0.19.21","0.19.20","0.19.19","0.19.18","0.19.17","0.19.16","0.19.15","0.19.14","0.19.13","0.19.12","0.19.11","0.19.10","0.19.9","0.19.8","0.19.7","0.19.6","0.19.5","0.19.4","0.18.92","0.18.91","0.18.90","0.18.89","0.18.88","0.18.87","0.18.86","0.18.85","0.18.84","0.18.83","0.18.82","0.18.81","0.18.80","0.18.79","0.18.78","0.18.77","0.18.76","0.18.75","0.18.74","0.18.73","0.18.72","0.18.71","0.18.70","0.18.69","0.18.68","0.18.67","0.18.65","0.18.63","0.18.62","0.18.61","0.18.60","0.18.59","0.18.58","0.18.57","0.18.56","0.18.55","0.18.54","0.18.53","0.18.52","0.18.51","0.18.50","0.18.49","0.18.48","0.18.47","0.18.46","0.18.45","0.18.44","0.18.43","0.18.42","0.18.41","0.18.40","0.18.39","0.18.38","0.18.37","0.18.36","0.18.35","0.18.34","0.18.33","0.18.32","0.18.31","0.18.30","0.18.29","0.18.28","0.18.27","0.18.26","0.18.25","0.18.24","0.18.23","0.18.22","0.18.21","0.18.20","0.18.19","0.18.18","0.18.17","0.18.16","0.18.15","0.18.14","0.18.13","0.18.12","0.18.11","0.18.10","0.18.9","0.18.8","0.18.7","0.18.6","0.18.5","0.18.4","0.18.3","0.18.2","0.18.1","0.18.0","0.17.4","0.17.3","0.17.2","0.17.1","0.17.0","0.16.10","0.16.9","0.16.8","0.16.7","0.16.6","0.16.5","0.16.4","0.16.3","0.15.30","0.15.29","0.15.28","0.15.27","0.15.26","0.15.25","0.15.24","0.15.23","0.15.22","0.15.21","0.15.20"],"description":"Pustefix Archetype for Modules"},{"artifactId":"QiAnalyzeModule-Archetype","groupId":"org.qianalyze","versions":["0.8.0"],"description":"The archetype to create a new QiAnalyze Module for more information visit http://java.net/projects/qianalyze"},{"artifactId":"QiAnalyzeModule","groupId":"org.qianalyze.sample","versions":["0.8.2"],"description":"The archetype to create a new QiAnalyze Module for more information visit http://java.net/projects/qianalyze"},{"artifactId":"qooxdoo-archetype-desktop","groupId":"org.qooxdoo","versions":["2.0-RC1"],"description":"An archetype to create a qooxdoo application"},{"artifactId":"qooxdoo-archetype-gui","groupId":"org.qooxdoo","versions":["1.5"],"description":"An archetype to create a qooxdoo application"},{"artifactId":"cfg-module","groupId":"org.quattor.maven","versions":["1.60","1.59","1.58","1.57","1.56","1.55","1.54","1.53","1.52","1.51","1.50","1.49","1.48","1.47","1.46","1.45","1.44","1.43","1.42","1.40","1.39","1.38","1.37","1.36","1.35","1.34","1.33","1.32","1.31","1.30","1.29","1.28","1.27","1.26","1.25","1.24","1.23","1.22","1.21","1.20","1.19","1.18","1.17","1.16","1.15","1.14","1.13","1.12","1.11"]},{"artifactId":"panc-maven-archetype","groupId":"org.quattor.pan","versions":["10.7","10.4-rc2","10.4-rc1","10.3","10.2","10.1","10.0","9.3","9.3-RC2","9.3-RC1","9.2"]},{"artifactId":"maven-archetype-bundle","groupId":"org.rauschig","versions":["0.3.0","0.2.0"],"description":"A maven archetype that incorporates common artifacts for OSS development and OSGi compatibility"},{"artifactId":"refcodes-archetype-alt-c2","groupId":"org.refcodes","versions":["3.1.0","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.2.2","2.2.1","2.2.0","2.1.6","2.1.5","2.1.4","2.1.3"],"description":"A minimum REFCODES.ORG enabled C2 (Command + Control) RESTful server teaming\n\t\tup with itself as client application. Get inspired by \"https://bitbucket.org/funcodez\"."},{"artifactId":"refcodes-archetype-alt-cli","groupId":"org.refcodes","versions":["3.1.0","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.2.2","2.2.1","2.2.0","2.1.6","2.1.5","2.1.4","2.1.3","2.1.2","2.1.1"],"description":"A minimum REFCODES.ORG enabled command line interface (CLI) application. \n\t\tGet inspired by \"https://bitbucket.org/funcodez\"."},{"artifactId":"refcodes-archetype-alt-csv","groupId":"org.refcodes","versions":["3.1.0","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.2.2","2.2.1","2.2.0","2.1.6","2.1.5","2.1.4","2.1.3","2.1.2"],"description":"A minimum REFCODES.ORG enabled command application processing CSV files. \n\t\tGet inspired by \"https://bitbucket.org/funcodez\"."},{"artifactId":"refcodes-archetype-alt-eventbus","groupId":"org.refcodes","versions":["3.1.0","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.2.2","2.2.1","2.2.0","2.1.6","2.1.5","2.1.4","2.1.3","2.1.2"],"description":"A minimum REFCODES.ORG enabled eventbus (publish and subscribe) driven\n\t\tapplication. Get inspired by \"https://bitbucket.org/funcodez\"."},{"artifactId":"refcodes-archetype-alt-filter","groupId":"org.refcodes","versions":["3.1.0","3.0.9","3.0.8","3.0.7"],"description":"A minimum REFCODES.ORG enabled command line interface (CLI) application. \n\t\tGet inspired by \"https://bitbucket.org/funcodez\"."},{"artifactId":"refcodes-archetype-alt-rest","groupId":"org.refcodes","versions":["3.1.0","3.0.9","3.0.8","3.0.7","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0","2.2.2","2.2.1","2.2.0","2.1.6","2.1.5","2.1.4","2.1.3","2.1.2","2.1.1"],"description":"A minimum REFCODES.ORG enabled RESTful server and client application. \n\t\tGet inspired by \"https://bitbucket.org/funcodez\"."},{"artifactId":"refcodes-cli-ext-archetype","groupId":"org.refcodes","versions":["2.1.0"],"description":"A minimum REFCODES.ORG enabled command line interface (CLI) application. \n\t\tGet inspired by \"https://bitbucket.org/funcodez\"."},{"artifactId":"refcodes-console-ext-archetype","groupId":"org.refcodes","versions":["2.0.5","2.0.4","2.0.3","2.0.2","2.0.1"],"description":"A minimum REFCODES.ORG enabled command line interface (CLI) application. \n\t\tGet inspired by \"https://bitbucket.org/funcodez\"."},{"artifactId":"refcodes-rest-ext-archetype","groupId":"org.refcodes","versions":["2.1.0","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1"],"description":"A minimum REFCODES.ORG enabled RESTful server and client application. \n\t\tGet inspired by \"https://bitbucket.org/funcodez\"."},{"artifactId":"resthub-jpa-backbonejs-archetype","groupId":"org.resthub","versions":["2.2.0","2.1.6","2.1.5","2.1.4","2.1.3","2.1.2","2.1.1","2.1.0","2.0.0"]},{"artifactId":"resthub-jpa-backbonejs-multi-archetype","groupId":"org.resthub","versions":["2.2.0","2.1.6","2.1.5","2.1.4","2.1.3","2.1.2","2.1.1","2.1.0","2.0.0"]},{"artifactId":"resthub-mongodb-backbonejs-archetype","groupId":"org.resthub","versions":["2.2.0","2.1.6","2.1.5","2.1.4","2.1.3","2.1.2","2.1.1","2.1.0","2.0.0"]},{"artifactId":"resthub-mongodb-backbonejs-multi-archetype","groupId":"org.resthub","versions":["2.2.0","2.1.6","2.1.5","2.1.4","2.1.3","2.1.2","2.1.1","2.1.0","2.0.0"]},{"artifactId":"rhq-plugin-archetype","groupId":"org.rhq","versions":["1.0.0.GA"]},{"artifactId":"smartgwt-war-archetype","groupId":"org.rhq.maven","versions":["1.0.4","1.0.2","1.0.1"],"description":"archetype for a Maven project for a SmartGWT web application (WAR)"},{"artifactId":"richfaces-archetype-kitchensink","groupId":"org.richfaces.archetypes","versions":["5.0.0.Alpha3","5.0.0.Alpha2","5.0.0.Alpha1","4.5.9.Final","4.5.8.Final","4.5.7.Final","4.5.6.Final","4.5.5.Final","4.5.4.Final","4.5.3.Final","4.5.2.Final","4.5.17.Final","4.5.16.Final","4.5.15.Final","4.5.14.Final","4.5.13.Final","4.5.12.Final","4.5.11.Final","4.5.10.Final","4.5.1.Final","4.5.0.Final","4.5.0.CR2","4.5.0.CR1","4.5.0.Beta2","4.5.0.Beta1","4.5.0.Alpha3","4.3.7.Final","4.3.6.Final","4.3.5.Final","4.3.4.Final","4.3.4.Final-1","4.3.3.Final","4.3.2.Final","4.3.2.Final-1","4.3.2.CR1","4.3.1.Final","4.3.1.Final-2","4.3.1.Final-1","4.3.1.CR1","4.3.0.Final","4.3.0.CR2","4.3.0.CR1","4.3.0.20121214-M3","4.3.0.20121024-M2","4.3.0.20120802-M1","4.2.3.Final","4.2.3.Final-2","4.2.3.Final-1","4.2.3.CR1","4.2.2.Final","4.2.2.Final-2","4.2.2.Final-1","4.2.1.Final","4.2.1.CR1","4.2.0.Final-2","4.2.0.Final-1"],"description":"A starter Java EE 6 webapp project for use on JBoss AS 7 / EAP 6, generated from the\n jboss-javaee6-webapp archetype"},{"artifactId":"richfaces-archetype-simpleapp","groupId":"org.richfaces.archetypes","versions":["5.0.0.Alpha3","5.0.0.Alpha2","5.0.0.Alpha1","4.5.9.Final","4.5.8.Final","4.5.7.Final","4.5.6.Final","4.5.5.Final","4.5.4.Final","4.5.3.Final","4.5.2.Final","4.5.17.Final","4.5.16.Final","4.5.15.Final","4.5.14.Final","4.5.13.Final","4.5.12.Final","4.5.11.Final","4.5.10.Final","4.5.1.Final","4.5.0.Final","4.5.0.CR2","4.5.0.CR1","4.5.0.Beta2","4.5.0.Beta1","4.5.0.Alpha3","4.3.7.Final","4.3.6.Final","4.3.5.Final","4.3.4.Final","4.3.3.Final","4.3.2.Final","4.3.2.CR1","4.3.1.Final","4.3.1.Final-2","4.3.1.Final-1","4.3.1.CR1","4.3.0.Final","4.3.0.CR2","4.3.0.CR1","4.3.0.20121214-M3","4.3.0.20121024-M2","4.3.0.20120802-M1","4.2.3.Final","4.2.3.CR1","4.2.2.Final","4.2.1.Final","4.2.1.CR1","4.2.0.Final","4.2.0.Final-2","4.2.0.Final-1","4.2.0.CR1","4.1.0.Final","4.1.0.CR2","4.1.0.20111111-CR1","4.1.0.20111101-M4","4.1.0.20111014-M3","4.1.0.20110910-M2","4.1.0.20110805-M1","4.0.0.Final","4.0.0.Alpha2","4.0.0.20110227-CR1","4.0.0.20110209-M6","4.0.0.20101226-M5","4.0.0.20101110-M4","4.0.0.20101004-M3","4.0.0.20100826-M2","4.0.0.20100824-M2","4.0.0.20100715-M1"]},{"artifactId":"roboquant-quickstart","groupId":"org.roboquant","versions":["1.0.0"],"description":"Maven archetype for the setup of roboquant trading applications"},{"artifactId":"robovm-console-template","groupId":"org.robovm","versions":["1.11.0","1.10.0","1.9.0","1.8.0","1.7.0","1.6.0","1.5.0","1.4.0","1.3.0","1.2.0","1.1.0","1.0.0"]},{"artifactId":"robovm-cross-platform-kotlin-template","groupId":"org.robovm","versions":["1.11.0","1.10.0"]},{"artifactId":"robovm-cross-platform-template","groupId":"org.robovm","versions":["1.11.0","1.10.0","1.9.0","1.8.0","1.7.0","1.6.0","1.5.0"]},{"artifactId":"robovm-default-template","groupId":"org.robovm","versions":["1.11.0","1.10.0","1.9.0","1.8.0","1.7.0","1.6.0","1.5.0","1.4.0","1.3.0","1.2.0","1.1.0","1.0.0"]},{"artifactId":"robovm-single-view-template","groupId":"org.robovm","versions":["1.11.0","1.10.0","1.9.0","1.8.0","1.7.0","1.6.0","1.5.0","1.4.0","1.3.0","1.2.0","1.1.0"]},{"artifactId":"robovm-templates-console","groupId":"org.robovm","versions":["1.14.0","1.13.0","1.12.0"]},{"artifactId":"robovm-templates-cross-platform","groupId":"org.robovm","versions":["1.14.0","1.13.0","1.12.0"]},{"artifactId":"robovm-templates-cross-platform-kotlin","groupId":"org.robovm","versions":["1.14.0","1.13.0","1.12.0"]},{"artifactId":"robovm-templates-ios-single-view","groupId":"org.robovm","versions":["1.14.0","1.13.0","1.12.0"]},{"artifactId":"robovm-templates-ios-single-view-no-ib","groupId":"org.robovm","versions":["1.14.0","1.13.0","1.12.0"]},{"artifactId":"robovm-templates-tvos-single-view","groupId":"org.robovm","versions":["1.14.0","1.13.0","1.12.0"]},{"artifactId":"robovm-templates-tvos-single-view-no-ib","groupId":"org.robovm","versions":["1.14.0","1.13.0","1.12.0"]},{"artifactId":"sadi-service-archetype","groupId":"org.sadiframework","versions":["0.3.0"]},{"artifactId":"sakai-wicket-maven-archetype","groupId":"org.sakaiproject.maven-archetype","versions":["1.5.0","1.5.0-rc1"],"description":"The Sakai Wicket Maven Archetype allows you to generate a sample Sakai app via a single Maven command. \n\t\tThe app is based on Apache Wicket which integrates nicely with Sakai. \n\t\tThe app demonstrates how to get a Sakai tool styled, internationalised and registered, setup your own APIs, wire them up with Spring and inject them via annotations. \n\t\tThe 1.1 and up releases also include multi database support via Spring JDBC. It could easily be used as a base for a real tool."},{"artifactId":"liftweb-archetype-blank","groupId":"org.scala-tools.archetypes","versions":["1.0"],"description":"Archetype - blank project for liwftweb"},{"artifactId":"liftweb-archetype-hellolift","groupId":"org.scala-tools.archetypes","versions":["1.0"],"description":"Archetype - hellolift sample liwftweb application"},{"artifactId":"scala-archetype-simple","groupId":"org.scala-tools.archetypes","versions":["1.3","1.2","1.1","1.0"],"description":"The maven-scala-plugin is used for compiling/testing/running/documenting scala code in maven."},{"artifactId":"scalate-archetype-guice_2.10","groupId":"org.scalatra.scalate.tooling","versions":["1.7.1","1.7.0"],"description":"An archetype which creates an empty Scalate Guice web application"},{"artifactId":"scalate-archetype-guice_2.11","groupId":"org.scalatra.scalate.tooling","versions":["1.7.1","1.7.0"],"description":"An archetype which creates an empty Scalate Guice web application"},{"artifactId":"scalate-archetype-jersey_2.10","groupId":"org.scalatra.scalate.tooling","versions":["1.7.1","1.7.0"],"description":"An archetype which creates an empty Scalate web application"},{"artifactId":"scalate-archetype-jersey_2.11","groupId":"org.scalatra.scalate.tooling","versions":["1.7.1","1.7.0"],"description":"An archetype which creates an empty Scalate web application"},{"artifactId":"scalate-archetype-sitegen_2.10","groupId":"org.scalatra.scalate.tooling","versions":["1.7.1","1.7.0"],"description":"An archetype which creates an empty Scalate static website generation project"},{"artifactId":"scalate-archetype-sitegen_2.11","groupId":"org.scalatra.scalate.tooling","versions":["1.7.1","1.7.0"],"description":"An archetype which creates an empty Scalate static website generation project"},{"artifactId":"sculptor-maven-archetype","groupId":"org.sculptorgenerator","versions":["3.1.0","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0"],"description":"Maven archetype for a business tier project using the Sculptor code generator"},{"artifactId":"sculptor-maven-archetype-ear","groupId":"org.sculptorgenerator","versions":["3.1.0","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0"],"description":"Maven archetype for a EAR project using the Sculptor code generator"},{"artifactId":"sculptor-maven-archetype-parent","groupId":"org.sculptorgenerator","versions":["3.1.0","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0"],"description":"Maven archetype for a parent project using the Sculptor code generator"},{"artifactId":"sculptor-maven-archetype-web","groupId":"org.sculptorgenerator","versions":["3.1.0","3.0.6","3.0.5","3.0.4","3.0.3","3.0.2","3.0.1","3.0.0"],"description":"Maven archetype for a WAR project using the Sculptor code generator"},{"artifactId":"addon-archetype","groupId":"org.seedstack","versions":["21.11","21.7","21.4.1","21.4","20.11.1","20.11","20.7","19.11","19.7.2","19.7.1","19.4","18.11.3","18.11.2","18.11.1","18.11","18.7.1","18.7","18.4.3","18.4.2","18.4.1","18.4","17.11.3","17.11.2","17.11.1","17.11","17.7","17.4","16.11.2"],"description":"SeedStack archetype for creating an add-on."},{"artifactId":"batch-archetype","groupId":"org.seedstack","versions":["21.11","21.7","21.4.1","21.4","20.11.1","20.11","20.7","19.11","19.7.2","19.7.1","19.4","18.11.3","18.11.2","18.11.1","18.11","18.7.1","18.7","18.4.3","18.4.2","18.4.1","18.4","17.11.3","17.11.2","17.11.1","17.11","17.7","17.4","16.11.2","16.11.1","16.11","16.7.4","16.7.3","16.7.2","16.7.1","16.7","16.4","15.11.3","15.11.2","15.11.1","15.11","15.11-M1","15.7","15.7-M5"],"description":"SeedStack archetype for running Spring Batch jobs."},{"artifactId":"cli-archetype","groupId":"org.seedstack","versions":["21.11","21.7","21.4.1","21.4","20.11.1","20.11","20.7","19.11","19.7.2","19.7.1","19.4","18.11.3","18.11.2","18.11.1","18.11","18.7.1","18.7","18.4.3","18.4.2","18.4.1","18.4","17.11.3","17.11.2","17.11.1","17.11","17.7","17.4","16.11.2","16.11.1","16.11","16.7.4","16.7.3","16.7.2","16.7.1","16.7","16.4","15.11.3"],"description":"SeedStack archetype for running command-line based applications."},{"artifactId":"domain-archetype","groupId":"org.seedstack","versions":["21.11","21.7","21.4.1","21.4","20.11.1","20.11","20.7","19.11","19.7.2","19.7.1","19.4","18.11.3","18.11.2","18.11.1","18.11","18.7.1","18.7","18.4.3","18.4.2","18.4.1","18.4","17.11.3","17.11.2","17.11.1","17.11","17.7","17.4","16.11.2","16.11.1","16.11","16.7.4","16.7.3","16.7.2","16.7.1","16.7","16.4","15.11.3","15.11.2","15.11.1","15.11","15.11-M1","15.7","15.7-M5","15.7-M4"],"description":"SeedStack archetype for reusable domains."},{"artifactId":"rest-archetype","groupId":"org.seedstack","versions":["17.4","16.11.2","16.11.1","16.11","16.7.4","16.7.3","16.7.2","16.7.1","16.7","16.4","15.11.3","15.11.2","15.11.1","15.11","15.11-M1","15.7","15.7-M5","15.7-M4"],"description":"SeedStack mono-module WAR dedicated to REST-only projects, like micro-services"},{"artifactId":"web-archetype","groupId":"org.seedstack","versions":["21.11","21.7","21.4.1","21.4","20.11.1","20.11","20.7","19.11","19.7.2","19.7.1","19.4","18.11.3","18.11.2","18.11.1","18.11","18.7.1","18.7","18.4.3","18.4.2","18.4.1","18.4","17.11.3","17.11.2","17.11.1","17.11","17.7","17.4","16.11.2","16.11.1","16.11","16.7.4","16.7.3","16.7.2","16.7.1","16.7","16.4","15.11.3","15.11.2","15.11.1","15.11","15.11-M1","15.7","15.7-M5","15.7-M4"],"description":"SeedStack archetype for serving REST API and other Web resources."},{"artifactId":"selenide-junit5-archetype","groupId":"org.selenide","versions":["0.9.3","0.9.2","0.9.1","0.9","0.8.1"],"description":"This archetype generates a sample Selenide (http://selenide.org) project"},{"artifactId":"actlist-plugin-archetype","groupId":"org.silentsoft","versions":["1.0.0"],"description":"Actlist Plugin Archetype"},{"artifactId":"archetypes-quickstart","groupId":"org.siqisource.agave","versions":["0.9.0"]},{"artifactId":"javaee7-web-min","groupId":"org.sitoolkit.ad.archetype","versions":["1.1.1","1.1","1.0.1","1.0","0.13.1","0.13","0.12","0.11","0.10","0.9","0.8","0.7","0.6","0.5"],"description":"archetype for javaee7 minimum web application,\n useful for self study and developing new application."},{"artifactId":"javaee7-web-tips","groupId":"org.sitoolkit.ad.archetype","versions":["1.1.1","1.1","1.0.1","1.0","0.13.1","0.13","0.12","0.11","0.10","0.9"],"description":"archetype for javaee7 web application with useful tips"},{"artifactId":"sit-ad-archetype","groupId":"org.sitoolkit.ad.archetype","versions":["0.5"],"description":"This project is generated from org.sitoolkit.archetype:sit-ad-archetype"},{"artifactId":"sit-archetype","groupId":"org.sitoolkit.archetype","versions":["0.12","0.11.1","0.11","0.10","0.9.3","0.9.2","0.9.1","0.9"],"description":"This project is generated from org.sitoolkit.archetype:sit-archetype"},{"artifactId":"sit-tester-archetype","groupId":"org.sitoolkit.tester","versions":["0.10.1","0.10","0.9","0.8.3","0.8","0.7","0.6.1","0.6"],"description":"archetype for sit-tester"},{"artifactId":"sit-wt-archetype","groupId":"org.sitoolkit.wt","versions":["2.0.1","2.0","1.3.1","1.3","1.2","1.1","1.0"],"description":"archetype for sit-wt"},{"artifactId":"sit-wt-project","groupId":"org.sitoolkit.wt","versions":["0.9"],"description":"archetype for sit-wt"},{"artifactId":"slf4j-archetype","groupId":"org.slf4j","versions":["1.4.2","1.4.1","1.4.0","1.3.1","1.3.0","1.2","1.1.0","1.1.0-beta0","1.1.0-RC1","1.1.0-RC0"],"description":"The slf4j Archetype"},{"artifactId":"slick2d-basic-game-archetype","groupId":"org.slick2d","versions":["1.0.2","1.0.1","1.0.0"],"description":"Maven archetype for a Slick2D based game"},{"artifactId":"smartboot-archetype","groupId":"org.smartboot.maven.archetype","versions":["1.0.2","1.0.1","1.0.0","0.2-RELEASE"],"description":"smartboot-archetype"},{"artifactId":"PESample-archetype","groupId":"org.smyld.app.pe","versions":["1.0.9","1.0.8","1.0.7","1.0.6","1.0.5"],"description":"Simple archetype to create a Portal Engine project"},{"artifactId":"flexmojos-archetypes-application","groupId":"org.sonatype.flexmojos","versions":["4.2-beta","4.1-beta","4.0-pre-alpha-1","4.0-beta-7","4.0-beta-6","4.0-beta-5","4.0-beta-4","4.0-beta-3","4.0-beta-2","4.0-beta-1","4.0-alpha-5","4.0-alpha-4","4.0-alpha-3","4.0-alpha-2","4.0-alpha-1","4.0-RC2","4.0-RC1","3.8","3.7.1","3.7","3.6.1","3.6","3.5-1517","3.5.0","3.4.2","3.4.0","3.3.0","3.2.0","3.1.0","3.0.0"]},{"artifactId":"flexmojos-archetypes-library","groupId":"org.sonatype.flexmojos","versions":["4.2-beta","4.1-beta","4.0-pre-alpha-1","4.0-beta-7","4.0-beta-6","4.0-beta-5","4.0-beta-4","4.0-beta-3","4.0-beta-2","4.0-beta-1","4.0-alpha-5","4.0-alpha-4","4.0-alpha-3","4.0-alpha-2","4.0-alpha-1","4.0-RC2","4.0-RC1","3.8","3.7.1","3.7","3.6.1","3.6","3.5.0","3.4.2","3.4.0","3.3.0","3.2.0","3.1.0","3.0.0"]},{"artifactId":"flexmojos-archetypes-modular-webapp","groupId":"org.sonatype.flexmojos","versions":["4.2-beta","4.1-beta","4.0-pre-alpha-1","4.0-beta-7","4.0-beta-6","4.0-beta-5","4.0-beta-4","4.0-beta-3","4.0-beta-2","4.0-beta-1","4.0-alpha-5","4.0-alpha-4","4.0-alpha-3","4.0-alpha-2","4.0-alpha-1","4.0-RC2","4.0-RC1","3.8","3.7.1","3.7","3.6.1","3.6","3.5.0","3.4.2","3.4.0","3.3.0","3.2.0","3.1.0","3.0.0"]},{"artifactId":"nexus-format-archetype","groupId":"org.sonatype.nexus.archetypes","versions":["1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.37","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.11","1.0.9","1.0.7","1.0.5","1.0.3","1.0.1"],"description":"Archetype to create a nexus format plugin"},{"artifactId":"nexus-plugin-archetype","groupId":"org.sonatype.nexus.archetypes","versions":["2.3.1","2.3.1-01","2.3.0","2.3.0-04","2.3.0-02","2.3.0-01","2.2.1","2.2","2.2-01","2.1.2","2.1.1","2.1","2.1-RC1","1.2","1.1","1.0"]},{"artifactId":"java8-junit4-quickstart","groupId":"org.spilth","versions":["1.0.2","1.0.1"],"description":"A Maven Archetype for creating a Java 8 project using Junit 4"},{"artifactId":"java8-minimal-quickstart","groupId":"org.spilth","versions":["1.0.0"],"description":"A Maven Archetype for creating a minimal Java 8 project"},{"artifactId":"java9-minimal-quickstart","groupId":"org.spilth","versions":["1.0.0"],"description":"A Maven Archetype for creating a minimal Java 9 project"},{"artifactId":"spring-boot-sample-actuator-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot Actuator Sample"},{"artifactId":"spring-boot-sample-actuator-log4j-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot Actuator Log4J Sample"},{"artifactId":"spring-boot-sample-actuator-noweb-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot Actuator Non-Web Sample"},{"artifactId":"spring-boot-sample-actuator-ui-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot Actuator UI Sample"},{"artifactId":"spring-boot-sample-amqp-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot AMQP Sample"},{"artifactId":"spring-boot-sample-aop-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot AOP Sample"},{"artifactId":"spring-boot-sample-batch-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot Batch Sample"},{"artifactId":"spring-boot-sample-data-jpa-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot Data JPA Sample"},{"artifactId":"spring-boot-sample-data-mongodb-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot Data MongoDB Sample"},{"artifactId":"spring-boot-sample-data-redis-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot Data Redis Sample"},{"artifactId":"spring-boot-sample-data-rest-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot Data REST Sample"},{"artifactId":"spring-boot-sample-integration-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot Integration Sample"},{"artifactId":"spring-boot-sample-jetty-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot Jetty Sample"},{"artifactId":"spring-boot-sample-profile-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot Profile Sample"},{"artifactId":"spring-boot-sample-secure-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot Security Sample"},{"artifactId":"spring-boot-sample-servlet-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot Servlet Sample"},{"artifactId":"spring-boot-sample-simple-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot Simple Sample"},{"artifactId":"spring-boot-sample-tomcat-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot Tomcat Sample"},{"artifactId":"spring-boot-sample-traditional-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot Traditional Sample"},{"artifactId":"spring-boot-sample-web-jsp-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot Web JSP Sample"},{"artifactId":"spring-boot-sample-web-method-security-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot Web Method Security Sample"},{"artifactId":"spring-boot-sample-web-secure-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot Web Secure Sample"},{"artifactId":"spring-boot-sample-web-static-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot Web Static Sample"},{"artifactId":"spring-boot-sample-web-ui-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot Web UI Sample"},{"artifactId":"spring-boot-sample-websocket-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot WebSocket Sample"},{"artifactId":"spring-boot-sample-xml-archetype","groupId":"org.springframework.boot","versions":["1.0.2.RELEASE"],"description":"Spring Boot XML Sample"},{"artifactId":"spring-osgi-bundle-archetype","groupId":"org.springframework.osgi","versions":["1.2.1","1.2.0","1.1.3","1.1.2","1.1.1","1.1.0","1.0.3","1.0.2","1.0.1","1.0"],"description":"Spring OSGi Maven2 Archetype"},{"artifactId":"spring-ws-archetype","groupId":"org.springframework.ws","versions":["2.0.0-M1","1.5.10","1.5.9","1.5.8","1.5.7","1.5.6","1.5.5","1.5.4","1.5.3","1.5.2","1.5.1","1.5.0","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0","1.0-rc2","1.0-rc1","2.1.4.RELEASE","2.1.3.RELEASE","2.1.2.RELEASE","2.1.1.RELEASE","2.1.0.RELEASE","2.0.5.RELEASE","2.0.4.RELEASE","2.0.3.RELEASE","2.0.2.RELEASE","2.0.1.RELEASE","2.0.0.RELEASE"],"description":"Spring Web Services Maven2 Archetype."},{"artifactId":"sqlproc-archetype-simple-jdbc","groupId":"org.sqlproc","versions":["3.5.1","3.5.0","3.3.6","3.3.5","3.3.4","3.3.3","3.3.2","3.3.1","3.3.0","3.2.4","3.2.3","3.2.2","3.2.1","3.2.0","3.1.9","3.1.8","3.1.7","3.1.6","3.1.5","3.1.4","3.1.3","3.1.2","3.1.1","3.1.0","3.0.0","2.9.0","2.8.0","2.7.0","2.6.2","2.6.0","2.5.3","2.5.2","2.5.1","2.5.0","2.4.1","2.4.0","2.3.5","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0","2.2.9","2.2.8","2.2.7","2.2.6","2.2.5","2.2.4","2.2.3","2.2.2","2.2.1","2.2.0","2.1.1","2.1.0","2.0.0","1.9.1","1.9.0"],"description":"SQL Processor Archetype for Simple JDBC Application"},{"artifactId":"sqlproc-archetype-simple-spring","groupId":"org.sqlproc","versions":["3.5.1","3.5.0","3.3.6","3.3.5","3.3.4","3.3.3","3.3.2","3.3.1","3.3.0","3.2.4","3.2.3","3.2.2","3.2.1","3.2.0","3.1.9","3.1.8","3.1.7","3.1.6","3.1.5","3.1.4","3.1.3","3.1.2","3.1.1","3.1.0","3.0.0","2.9.0","2.8.0","2.7.0","2.6.2","2.6.0","2.5.3","2.5.2","2.5.1","2.5.0","2.4.1","2.4.0","2.3.5","2.3.4","2.3.3","2.3.2","2.3.1","2.3.0","2.2.9","2.2.8","2.2.7","2.2.6","2.2.5","2.2.4","2.2.3","2.2.2","2.2.1","2.2.0","2.1.1","2.1.0","2.0.0","1.9.1","1.9.0"],"description":"SQL Processor Archetype for Simple Spring Application"},{"artifactId":"hadoop-v1-mr","groupId":"org.stackbox.archetypes","versions":["0.0.2-RELEASE"],"description":"A set of maven3 archetypes during my career in Miaozhen Systems"},{"artifactId":"webapp-ssm-basic","groupId":"org.stackbox.archetypes","versions":["0.0.2-RELEASE"],"description":"A set of maven3 archetypes during my career in Miaozhen Systems"},{"artifactId":"java-15-minimal","groupId":"org.sterl","versions":["1.0.1","1.0.0"]},{"artifactId":"java-minimal","groupId":"org.sterl","versions":["1.2.0","1.1.0"]},{"artifactId":"streampipes-archetype-pe-processors-flink","groupId":"org.streampipes","versions":["0.65.0","0.64.0","0.63.0","0.62.0","0.61.0","0.60.1"]},{"artifactId":"streampipes-archetype-pe-processors-jvm","groupId":"org.streampipes","versions":["0.65.0","0.64.0","0.63.0","0.62.0","0.61.0","0.60.1"]},{"artifactId":"streampipes-archetype-pe-sinks-flink","groupId":"org.streampipes","versions":["0.65.0","0.64.0","0.63.0","0.62.0","0.61.0","0.60.1"]},{"artifactId":"streampipes-archetype-pe-sinks-jvm","groupId":"org.streampipes","versions":["0.65.0","0.64.0","0.63.0","0.62.0","0.61.0","0.60.1"]},{"artifactId":"streampipes-archetype-pe-sources","groupId":"org.streampipes","versions":["0.65.0","0.64.0","0.63.0","0.62.0","0.61.0","0.60.1"]},{"artifactId":"structr-base-archetype","groupId":"org.structr","versions":["1.0.0","0.9.0","0.8.3","0.8.2","1.0.RC4","1.0.RC3","1.0.RC2","1.0.RC1"],"description":"Structr is an open source framework based on the popular Neo4j graph database."},{"artifactId":"structr-simple-example-archetype","groupId":"org.structr","versions":["1.0.0","0.9.0","0.8.3","0.8.2","1.0.RC4","1.0.RC3","1.0.RC2","1.0.RC1"],"description":"Structr is an open source framework based on the popular Neo4j graph database."},{"artifactId":"structr-ui-archetype","groupId":"org.structr","versions":["1.0.0","0.9.0","0.8.3","0.8.2","1.0.RC4","1.0.RC3","1.0.RC2","1.0.RC1"],"description":"Structr is an open source framework based on the popular Neo4j graph database."},{"artifactId":"swc-example-basic-archetype","groupId":"org.sweble.wikitext","versions":["1.1.0"],"description":"An archetype that creates a simple application which is able to parse a page\n written in Wikitext and render it as HTML."},{"artifactId":"swc-example-serialization-archetype","groupId":"org.sweble.wikitext","versions":["1.1.0"],"description":"An example project that contains a simple application that is able to parse\n a page written in Wikitext and serialize it to XML, JSON or binary."},{"artifactId":"swc-example-xpath-archetype","groupId":"org.sweble.wikitext","versions":["1.1.0"],"description":"An archetype that creates a simple application which is able to parse\n a page written in Wikitext and perform an XPath query on that document."},{"artifactId":"switchyard-application","groupId":"org.switchyard.archetypes","versions":["2.1.0.Final","2.0.1.redhat-621222","2.0.1.redhat-621216","2.0.1.redhat-621211","2.0.1.redhat-621186","2.0.1.redhat-621177","2.0.1.redhat-621169","2.0.1.redhat-621159","2.0.1.redhat-621117","2.0.1.redhat-621107","2.0.1.redhat-621090","2.0.1.redhat-621084","2.0.1.redhat-620133","2.0.0.Final","2.0.0.CR1","2.0.0.Beta1","2.0.0.Alpha3","2.0.0.Alpha2","2.0.0.Alpha1","1.1.0.M4","1.1.0.Final","1.1.0.CR1","0.8.0.Final","0.7.0.Final","0.6.0.Final","0.6.0.Beta2","0.5.0.Final","0.5.0.Beta1","0.4.0.OS1","0.4.0.Final","0.4.0.CR1"]},{"artifactId":"syncope-archetype","groupId":"org.syncope","versions":["0.7.2","0.7.1","0.7","0.7-EA","0.6.5","0.6.4","0.6.3","0.6.2","0.6.1","0.6","0.5.10","0.5.9","0.5.8","0.5.7","0.5.6","0.5.5","0.5.2","0.5.1","0.5","0.2","0.7RC4","0.7RC3","0.7RC2","0.7RC1"],"description":"Syncope archetype"},{"artifactId":"jtango-maven-archetype","groupId":"org.tango-controls","versions":["1.4","1.3","1.2","1.1"],"description":"This is a custom archetype to generate skeleton JTango projects. JTango is a Java implementation of Tango controls - open source SCADA framework."},{"artifactId":"teavm-maven-webapp","groupId":"org.teavm","versions":["0.7.0","0.6.1","0.6.0","0.5.1","0.5.0","0.4.3","0.4.2","0.4.1","0.4.0","0.3.2","0.3.1","0.3.0","0.2.1","0.2.0"],"description":"An archetype that creates a simple web application with enabled TeaVM"},{"artifactId":"teavm-flavour-application","groupId":"org.teavm.flavour","versions":["0.2.1","0.2.0","0.1.0"],"description":"Archetype for simple Flavour application"},{"artifactId":"connector-archetype","groupId":"org.teiid.arche-types","versions":["12.0.0","10.0.1","10.0.0"]},{"artifactId":"metadatarepository-archetype","groupId":"org.teiid.arche-types","versions":["12.0.0","10.0.1"]},{"artifactId":"preparser-archetype","groupId":"org.teiid.arche-types","versions":["12.0.0","10.0.1","10.0.0"]},{"artifactId":"translator-archetype","groupId":"org.teiid.arche-types","versions":["12.0.0","10.0.1","10.0.0"]},{"artifactId":"udf-archetype","groupId":"org.teiid.arche-types","versions":["12.0.0","10.0.1","10.0.0"]},{"artifactId":"angularHtml5offline-starterkit","groupId":"org.telosys.starterkits","versions":["1.0.0"],"description":"archetype for starter Kit angular Html5 offline"},{"artifactId":"struts-jpa-starterkit","groupId":"org.telosys.starterkits","versions":["1.0.1","1.0.0"],"description":"archetype for starter Kit Struts"},{"artifactId":"tentackle-project-archetype","groupId":"org.tentackle","versions":["17.9.0.0","17.8.0.0","17.12.0.0","17.11.0.0","17.10.0.0","11.7.4.1","11.7.4.0","11.7.3.0","11.7.2.1","11.7.2.0","11.7.1.0","11.7.0.0","11.6.2.0","11.6.1.0","11.6.0.0","11.5.0.0","11.4.0.1","11.4.0.0"],"description":"Archetype for a multi-module Tentackle application"},{"artifactId":"terasoluna-batch-archetype","groupId":"org.terasoluna.batch","versions":["5.4.1.RELEASE","5.4.0.RELEASE","5.4.0.RC1","5.3.1.RELEASE","5.3.0.RELEASE","5.3.0.RC3","5.2.1.RELEASE","5.2.1.RC3","5.2.1.RC1","5.2.0.RELEASE","5.2.0.RC1","5.1.2.RC1","5.1.1.RELEASE","5.1.0.RELEASE","5.1.0.RC1","5.0.4.RELEASE","5.0.3.RELEASE","5.0.2.RELEASE","5.0.2.RC1","5.0.1.RELEASE","5.0.1.RC2","5.0.1.RC1","5.0.0.RELEASE","5.0.0.RC3","5.0.0.RC2","5.0.0.RC1"],"description":"Archetype project for TERASOLUNA Batch Framework for Java (5.x)"},{"artifactId":"terasoluna-gfw-multi-web-blank-archetype","groupId":"org.terasoluna.gfw.blank","versions":["5.2.0.RC7","5.2.0.RC7.2","5.2.0.RC7.1","5.2.0.RC6","5.2.0.RC5"],"description":"Web Blank Multi Project using TERASOLUNA Server Framework for Java (5.x)"},{"artifactId":"terasoluna-gfw-multi-web-blank-jpa-archetype","groupId":"org.terasoluna.gfw.blank","versions":["5.7.1.SP1.RELEASE","5.7.1.RELEASE","5.7.0.SP1.RELEASE","5.7.0.RELEASE","5.6.2.SP1.RELEASE","5.6.2.RELEASE","5.6.1.SP1.RELEASE","5.6.1.RELEASE","5.6.0.SP1.RELEASE","5.6.0.RELEASE","5.6.0.RC4","5.6.0.RC3","5.6.0.RC2","5.5.2.RELEASE","5.5.1.RELEASE","5.5.1.RC4","5.5.1.RC2","5.5.0.RELEASE","5.5.0.RC7","5.5.0.RC6","5.5.0.RC2","5.5.0.RC1","5.4.2.RELEASE","5.4.2.RC8","5.4.2.RC7","5.4.2.RC6","5.4.2.RC1","5.4.1.RELEASE","5.4.1.RC1","5.4.0.RELEASE","5.4.0.RC5","5.4.0.RC4","5.4.0.RC3","5.4.0.RC1","5.3.2.RELEASE","5.3.2.RC3","5.3.2.RC2","5.3.2.RC1","5.3.1.RELEASE","5.3.1.RC1","5.3.0.RELEASE","5.3.0.RC6","5.3.0.RC5","5.3.0.RC4","5.3.0.RC3","5.2.1.RC4","5.2.1.RC3","5.2.0.RC7","5.2.0.RC7.2","5.2.0.RC7.1","5.2.0.RC6","5.2.0.RC5"],"description":"Web Blank Multi Project (JPA) using TERASOLUNA Server Framework for Java (5.x)"},{"artifactId":"terasoluna-gfw-multi-web-blank-jpa-jpa-archetype","groupId":"org.terasoluna.gfw.blank","versions":["5.2.0.RC5"],"description":"Web Blank Multi Project (JPA) (JPA) using TERASOLUNA Server Framework for Java (5.x)"},{"artifactId":"terasoluna-gfw-multi-web-blank-mybatis3-archetype","groupId":"org.terasoluna.gfw.blank","versions":["5.7.1.SP1.RELEASE","5.7.1.RELEASE","5.7.0.SP1.RELEASE","5.7.0.RELEASE","5.6.2.SP1.RELEASE","5.6.2.RELEASE","5.6.1.SP1.RELEASE","5.6.1.RELEASE","5.6.0.SP1.RELEASE","5.6.0.RELEASE","5.6.0.RC4","5.6.0.RC3","5.6.0.RC2","5.5.2.RELEASE","5.5.1.RELEASE","5.5.1.RC4","5.5.1.RC2","5.5.0.RELEASE","5.5.0.RC7","5.5.0.RC6","5.5.0.RC2","5.5.0.RC1","5.4.2.RELEASE","5.4.2.RC8","5.4.2.RC7","5.4.2.RC6","5.4.2.RC1","5.4.1.RELEASE","5.4.1.RC1","5.4.0.RELEASE","5.4.0.RC5","5.4.0.RC4","5.4.0.RC3","5.4.0.RC1","5.3.2.RELEASE","5.3.2.RC3","5.3.2.RC2","5.3.2.RC1","5.3.1.RELEASE","5.3.1.RC1","5.3.0.RELEASE","5.3.0.RC6","5.3.0.RC5","5.3.0.RC4","5.3.0.RC3","5.2.1.RC4","5.2.1.RC3","5.2.0.RC7.2","5.2.0.RC7.1"],"description":"Web Blank Multi Project (MyBatis3) using TERASOLUNA Server Framework for Java (5.x)"},{"artifactId":"terasoluna-gfw-multi-web-blank-mybatis3-jpa-archetype","groupId":"org.terasoluna.gfw.blank","versions":["5.2.0.RC7","5.2.0.RC6"],"description":"Web Blank Multi Project (MyBatis3) (JPA) using TERASOLUNA Server Framework for Java (5.x)"},{"artifactId":"terasoluna-gfw-multi-web-blank-mybatis3-jpa-jpa-archetype","groupId":"org.terasoluna.gfw.blank","versions":["5.2.0.RC5"],"description":"Web Blank Multi Project (MyBatis3) (JPA) (JPA) using TERASOLUNA Server Framework for Java (5.x)"},{"artifactId":"terasoluna-gfw-multi-web-blank-mybatis3-mybatis3-archetype","groupId":"org.terasoluna.gfw.blank","versions":["5.6.0.RC4"],"description":"Web Blank Multi Project (MyBatis3) (MyBatis3) using TERASOLUNA Server Framework for Java (5.x)"},{"artifactId":"terasoluna-gfw-web-blank-archetype","groupId":"org.terasoluna.gfw.blank","versions":["5.7.1.SP1.RELEASE","5.7.1.RELEASE","5.7.0.SP1.RELEASE","5.7.0.RELEASE","5.6.2.SP1.RELEASE","5.6.2.RELEASE","5.6.1.SP1.RELEASE","5.6.1.RELEASE","5.6.0.SP1.RELEASE","5.6.0.RELEASE","5.6.0.RC4","5.6.0.RC3","5.6.0.RC2","5.5.2.RELEASE","5.5.1.RELEASE","5.5.1.RC4","5.5.1.RC2","5.5.0.RELEASE","5.5.0.RC7","5.5.0.RC6","5.5.0.RC2","5.5.0.RC1","5.4.2.RELEASE","5.4.2.RC8","5.4.2.RC7","5.4.2.RC6","5.4.2.RC1","5.4.1.RELEASE","5.4.1.RC1","5.4.0.RELEASE","5.4.0.RC5","5.4.0.RC4","5.4.0.RC3","5.4.0.RC1","5.3.2.RELEASE","5.3.2.RC3","5.3.2.RC2","5.3.2.RC1","5.3.1.RELEASE","5.3.1.RC1","5.3.0.RELEASE","5.3.0.RC6","5.3.0.RC5","5.3.0.RC4","5.3.0.RC3","5.2.1.RC4","5.2.1.RC3","5.2.0.RC7","5.2.0.RC7.2","5.2.0.RC7.1","5.2.0.RC6","5.2.0.RC5"],"description":"Web Blank Project using TERASOLUNA Server Framework for Java (5.x)"},{"artifactId":"terasoluna-gfw-web-blank-jpa-archetype","groupId":"org.terasoluna.gfw.blank","versions":["5.7.1.SP1.RELEASE","5.7.1.RELEASE","5.7.0.SP1.RELEASE","5.7.0.RELEASE","5.6.2.SP1.RELEASE","5.6.2.RELEASE","5.6.1.SP1.RELEASE","5.6.1.RELEASE","5.6.0.SP1.RELEASE","5.6.0.RELEASE","5.6.0.RC4","5.6.0.RC3","5.6.0.RC2","5.5.2.RELEASE","5.5.1.RELEASE","5.5.1.RC4","5.5.1.RC2","5.5.0.RELEASE","5.5.0.RC7","5.5.0.RC6","5.5.0.RC2","5.5.0.RC1","5.4.2.RELEASE","5.4.2.RC8","5.4.2.RC7","5.4.2.RC6","5.4.2.RC1","5.4.1.RELEASE","5.4.1.RC1","5.4.0.RELEASE","5.4.0.RC5","5.4.0.RC4","5.4.0.RC3","5.4.0.RC1","5.3.2.RELEASE","5.3.2.RC3","5.3.2.RC2","5.3.2.RC1","5.3.1.RELEASE","5.3.1.RC1","5.3.0.RELEASE","5.3.0.RC6","5.3.0.RC5","5.3.0.RC4","5.3.0.RC3","5.2.1.RC4","5.2.1.RC3","5.2.0.RC7","5.2.0.RC7.2","5.2.0.RC7.1","5.2.0.RC6","5.2.0.RC5"],"description":"Web Blank Project (JPA) using TERASOLUNA Server Framework for Java (5.x)"},{"artifactId":"terasoluna-gfw-web-blank-mybatis3-archetype","groupId":"org.terasoluna.gfw.blank","versions":["5.7.1.SP1.RELEASE","5.7.1.RELEASE","5.7.0.SP1.RELEASE","5.7.0.RELEASE","5.6.2.SP1.RELEASE","5.6.2.RELEASE","5.6.1.SP1.RELEASE","5.6.1.RELEASE","5.6.0.SP1.RELEASE","5.6.0.RELEASE","5.6.0.RC4","5.6.0.RC3","5.6.0.RC2","5.5.2.RELEASE","5.5.1.RELEASE","5.5.1.RC4","5.5.1.RC2","5.5.0.RELEASE","5.5.0.RC7","5.5.0.RC6","5.5.0.RC2","5.5.0.RC1","5.4.2.RELEASE","5.4.2.RC8","5.4.2.RC7","5.4.2.RC6","5.4.2.RC1","5.4.1.RELEASE","5.4.1.RC1","5.4.0.RELEASE","5.4.0.RC5","5.4.0.RC4","5.4.0.RC3","5.4.0.RC1","5.3.2.RELEASE","5.3.2.RC3","5.3.2.RC2","5.3.2.RC1","5.3.1.RELEASE","5.3.1.RC1","5.3.0.RELEASE","5.3.0.RC6","5.3.0.RC5","5.3.0.RC4","5.3.0.RC3","5.2.1.RC4","5.2.1.RC3","5.2.0.RC7.2","5.2.0.RC7.1"],"description":"Web Blank Project (MyBatis3) using TERASOLUNA Server Framework for Java (5.x)"},{"artifactId":"terasoluna-gfw-web-blank-mybatis3-jpa-archetype","groupId":"org.terasoluna.gfw.blank","versions":["5.2.0.RC7","5.2.0.RC6","5.2.0.RC5"],"description":"Web Blank Project (MyBatis3) (JPA) using TERASOLUNA Server Framework for Java (5.x)"},{"artifactId":"terasoluna-integration-archetype","groupId":"org.terasoluna.integration","versions":["5.0.0.RC1"],"description":"Archetype project for TERASOLUNA Integration Framework for Java (5.x)"},{"artifactId":"junit-grpc-systemtest-archetype","groupId":"org.testifyproject.archetypes","versions":["1.0.0"],"description":"Creates a new quickstart project to system test Google gRPC applications with Testify, JUnit4, Mockito, and AssertJ."},{"artifactId":"junit-guice-integrationtest-archetype","groupId":"org.testifyproject.archetypes","versions":["1.0.0","0.9.3","0.9.2","0.9.1","0.9.0"],"description":"Creates a new quickstart project to integration test Google Guice modules and services with Testify, JUnit4, Mockito, and AssertJ."},{"artifactId":"junit-hk2-integrationtest-archetype","groupId":"org.testifyproject.archetypes","versions":["1.0.0","0.9.3","0.9.2","0.9.1","0.9.0"],"description":"Creates a new quickstart project to integration test HK2 modules and services with Testify, JUnit4, Mockito, and AssertJ."},{"artifactId":"junit-jersey-systemtest-archetype","groupId":"org.testifyproject.archetypes","versions":["1.0.0","0.9.3","0.9.2","0.9.1","0.9.0"],"description":"Creates a new quickstart project to system test Jersey 2 Application with Testify, JUnit4, Mockito, and AssertJ."},{"artifactId":"junit-resourceprovider-archetype","groupId":"org.testifyproject.archetypes","versions":["1.0.0","0.9.3","0.9.2","0.9.1","0.9.0"],"description":"Creates a new quickstart project to create a reusable ResourceProvider implementation."},{"artifactId":"junit-spring-integrationtest-archetype","groupId":"org.testifyproject.archetypes","versions":["1.0.0","0.9.3","0.9.2","0.9.1","0.9.0"],"description":"Creates a new quickstart project to integration test Spring modules with Testify, JUnit4, Mockito, and AssertJ."},{"artifactId":"junit-spring-systemtest-archetype","groupId":"org.testifyproject.archetypes","versions":["1.0.0","0.9.3","0.9.2","0.9.1","0.9.0"],"description":"Creates a new quickstart project to system test Spring MVC application with Testify, JUnit4, Mockito, and AssertJ."},{"artifactId":"junit-springboot-systemtest-archetype","groupId":"org.testifyproject.archetypes","versions":["1.0.0","0.9.3","0.9.2","0.9.1","0.9.0"],"description":"Creates a new quickstart project to system test Spring Boot application with Testify, JUnit4, Mockito, and AssertJ."},{"artifactId":"junit-unittest-archetype","groupId":"org.testifyproject.archetypes","versions":["1.0.0","0.9.3","0.9.2","0.9.1","0.9.0"],"description":"Creates a new quickstart project to unit test Java code with Testify, JUnit4, Mockito, and AssertJ."},{"artifactId":"buproject","groupId":"org.tinygroup","versions":["0.0.9","0.0.8","0.0.4","0.0.3"]},{"artifactId":"flowcomponent","groupId":"org.tinygroup","versions":["0.0.9","0.0.8","0.0.4","0.0.3"]},{"artifactId":"org.tinygroup.developarchetype","groupId":"org.tinygroup","versions":["3.4.6","3.4.0","3.1.2","3.1.1","3.1.0","3.0.0","2.3.0","2.2.3","2.2.2","2.2.1","2.1.1","2.1.0","2.0.33","2.0.30","2.0.29","2.0.27","2.0.26","2.0.21","2.0.20","2.0.19","2.0.10","2.0.0","1.2.4","1.2.3","1.2.2"]},{"artifactId":"org.tinygroup.flowcomponentarchetype","groupId":"org.tinygroup","versions":["3.4.6","3.4.0","3.1.2","3.1.1","3.1.0","3.0.0","2.3.0","2.2.3","2.2.2","2.2.1","2.1.1","2.1.0","2.0.33","2.0.30","2.0.29","2.0.27","2.0.26","2.0.21","2.0.20","2.0.19","2.0.10","2.0.0","1.2.4","1.2.3","1.2.2","1.1.0"]},{"artifactId":"org.tinygroup.plugincomponentarchetype","groupId":"org.tinygroup","versions":["1.1.0"]},{"artifactId":"org.tinygroup.uicomponentarchetype","groupId":"org.tinygroup","versions":["3.4.6","3.4.0","3.1.2","3.1.1","3.1.0","3.0.0","2.3.0","2.2.3","2.2.2","2.2.1","2.1.1","2.1.0","2.0.33","2.0.30","2.0.29","2.0.27","2.0.26","2.0.21","2.0.20","2.0.19","2.0.10","2.0.0","1.2.4","1.2.3","1.2.2","1.1.0"]},{"artifactId":"org.tinygroup.weixinarchetype","groupId":"org.tinygroup","versions":["3.4.6","3.4.0","3.1.2","3.1.1","3.1.0","3.0.0","2.3.0","2.2.3","2.2.2"]},{"artifactId":"plugincomponent","groupId":"org.tinygroup","versions":["0.0.9","0.0.8","0.0.4","0.0.3"]},{"artifactId":"servicecomponentarchetype","groupId":"org.tinygroup","versions":["3.4.6","3.4.0","3.1.2","3.1.1","3.1.0","3.0.0","2.3.0","2.2.3","2.2.2","2.2.1","2.1.1","2.1.0","2.0.33","2.0.30","2.0.29","2.0.27","2.0.26","2.0.21","2.0.20","2.0.19","2.0.10","2.0.0","1.2.4","1.2.3","1.2.2","1.1.0"]},{"artifactId":"uicomponent-archetype","groupId":"org.tinygroup","versions":["0.0.9","0.0.8","0.0.4","0.0.3"]},{"artifactId":"webappproject","groupId":"org.tinygroup","versions":["0.0.9","0.0.8","0.0.4","0.0.3"]},{"artifactId":"webappprojectarchetype","groupId":"org.tinygroup","versions":["3.4.6","3.4.0","3.1.2","3.1.1","3.1.0","3.0.0","2.3.0","2.2.3","2.2.2","2.2.1","2.1.1","2.1.0","2.0.33","2.0.30","2.0.29","2.0.27","2.0.26","2.0.21","2.0.20","2.0.19","2.0.10","2.0.0","1.2.4","1.2.3","1.2.2"]},{"artifactId":"tomitribe-crest-archetype","groupId":"org.tomitribe","versions":["0.23","0.22","0.21","0.20","0.19","0.18","0.17","0.16","0.15","0.14","0.13","0.12","0.11","0.10","0.8","0.7","0.6","0.5","0.4","0.3","0.0.2"]},{"artifactId":"trails-archetype","groupId":"org.trailsframework","versions":["1.2.1","1.2","1.1.1","1.1","1.0"]},{"artifactId":"trails-secure-archetype","groupId":"org.trailsframework","versions":["1.2.1","1.2","1.1.1","1.1","1.0"]},{"artifactId":"tynamo-archetype","groupId":"org.tynamo","versions":["0.5.1","0.3.0","0.1.0","0.0.1"]},{"artifactId":"uberfire-component-archetype","groupId":"org.uberfire","versions":["1.0.0.Beta1","0.9.0.Final","0.9.0.CR2","0.9.0.CR1","0.9.0.Beta1","0.8.0.Final","0.8.0.CR2","0.8.0.CR1","0.8.0.Beta2","0.8.0.Beta1","0.7.4.Final","0.7.3.Final","0.7.2.Final","0.7.1.Final","0.7.0.Final","0.7.0.CR3","0.7.0.CR2","0.7.0.CR1","0.7.0.Beta3","0.7.0.Beta2","0.7.0.Beta1","0.5.7.Final","0.5.6.Final","0.5.5.Final","0.5.4.Final","0.5.3.Final","0.5.2.Final","0.5.1.Final","0.5.0.Final","0.5.0.CR13","0.5.0.CR12","0.5.0.CR11","0.4.2.CR2","0.4.2.CR1","0.4.2.Beta2","0.4.2.Beta1","0.4.0.Final","0.4.0.CR2","0.4.0.CR1","0.4.0.Beta5","0.4.0.Beta4"],"description":"UberFire Component Archetype"},{"artifactId":"uberfire-project-archetype","groupId":"org.uberfire","versions":["7.41.0.t20200723","7.41.0.Final","7.40.0.Final","7.40.0.20200703","7.39.0.Final","7.39.0.CR1","7.38.0.Final","7.37.0.Final","7.36.1.Final","7.36.0.Final","7.36.0.20200331","7.36.0.20200330","7.35.0.Final","7.34.0.Final","7.33.0.Final","7.32.0.k20191223","7.32.0.Final","7.31.0.Final","7.30.0.Final","7.29.0.Final","7.28.0.Final","2.9.0.Final","2.8.0.Final","2.7.0.Final","2.6.0.Final","2.5.0.Final","2.4.0.Final","2.3.0.Final","2.24.0.Final","2.23.0.Final","2.22.0.Final","2.21.0.Final","2.20.0.Final","2.2.0.Final","2.19.0.Final","2.18.0.Final","2.17.0.Final","2.16.0.Final","2.15.0.Final","2.14.0.Final","2.13.0.Final","2.12.0.Final","2.11.0.Final","2.10.0.Final","1.4.0.Final","1.3.0.Final","1.2.0.Final","1.1.0.Final","1.1.0.Beta3","1.1.0.Beta2","1.1.0.Beta1","1.0.0.Final","1.0.0.CR3","1.0.0.CR2","1.0.0.CR1","1.0.0.Beta8","1.0.0.Beta7","1.0.0.Beta6","1.0.0.Beta5","1.0.0.Beta4","1.0.0.Beta3","1.0.0.Beta2","1.0.0.Beta1","0.9.0.Final","0.9.0.CR2","0.9.0.CR1","0.9.0.Beta1","0.8.0.Final","0.8.0.CR2","0.8.0.CR1","0.8.0.Beta2","0.8.0.Beta1","0.7.4.Final","0.7.3.Final","0.7.2.Final","0.7.1.Final","0.7.0.Final","0.7.0.CR3","0.7.0.CR2","0.7.0.CR1","0.7.0.Beta3","0.7.0.Beta2","0.7.0.Beta1","0.5.7.Final","0.5.6.Final","0.5.5.Final","0.5.4.Final","0.5.3.Final","0.5.2.Final","0.5.1.Final","0.5.0.Final","0.5.0.CR13","0.5.0.CR12","0.5.0.CR11","0.4.2.CR2","0.4.2.CR1","0.4.2.Beta2","0.4.2.Beta1","0.4.0.Final","0.4.0.CR2","0.4.0.CR1","0.4.0.Beta5","0.4.0.Beta4"],"description":"UberFire Project Archetype"},{"artifactId":"umlg-archetype","groupId":"org.umlg","versions":["1.0.0.M9"],"description":"Generates a Umlg application with Umlg's datatypes, validation profile and a rest interface"},{"artifactId":"visallo-plugin-archetype","groupId":"org.visallo","versions":["4.0.0","3.1.4","3.1.3","3.1.2","3.1.1","3.1.0","3.1.0-RC2","3.1.0-RC1","3.0.1","3.0","2.2.14","2.2.13","2.2.12","2.2.11","2.2.10","2.2.9","2.2.8","2.2.7","2.2.6","2.2.5","2.2.4","2.2.3","2.2.2","2.2.1","2.2.0"],"description":"Generate a project for Visallo plugin development"},{"artifactId":"walkmod-plugin-archetype","groupId":"org.walkmod","versions":["1.0"],"description":"Archetype to create a walkmod plugin"},{"artifactId":"wicket-scala-archetype","groupId":"org.wicketstuff.scala","versions":["1.5-rc2","1.5-rc2.1","1.5-RC5.1","1.5-RC4.2","1.5-RC3","1.5-RC1","1.5-RC1.1","1.4.21","1.4.20","1.4.19","1.4.18","1.4.17","1.4.16","1.4.15","1.4.14","1.4.13","1.4.12","1.4.11","1.4.10","1.4.9","1.4.8","1.4.7","1.4.9.2","1.4.9.1","1.4.8.1","1.4.7.1","1.4.20.1","1.4.17.3","1.4.17.2","1.4.17.1","1.4.16.1","1.4.12.1","1.4.10.2","1.4.10.1"],"description":"Basic setup for a project that combines Scala and Wicket, \n\t\tdepending on the Wicket-Scala project. Includes an example Specs \n\t\ttest."},{"artifactId":"wicketstuff-scala-archetype","groupId":"org.wicketstuff.scala","versions":["9.12.0","9.11.0","9.10.0","9.9.1","9.9.0","9.8.0","9.7.0","9.6.0","9.5.0","9.4.0","9.3.0","9.2.0","9.1.0","9.0.1-M3","9.0.0","9.0.0-M5","9.0.0-M5.1","9.0.0-M4","9.0.0-M3","9.0.0-M2","9.0.0-M1","8.14.0","8.13.0","8.12.0","8.11.0","8.10.0","8.9.0","8.8.0","8.7.0","8.6.0","8.5.0","8.4.0","8.3.0","8.2.0","8.1.0","8.0.0","8.0.0-M9","8.0.0-M8","8.0.0-M7","8.0.0-M6","8.0.0-M5","8.0.0-M4","8.0.0-M3","8.0.0-M2","8.0.0-M1","7.18.0","7.17.0","7.16.0","7.15.0","7.14.0","7.13.0","7.12.0","7.11.0","7.10.0","7.9.0","7.8.1","7.8.0","7.7.0","7.6.0","7.5.0","7.4.0","7.3.0","7.2.0","7.1.0","7.0.0","7.0.0-M6","7.0.0-M5","7.0.0-M4","7.0.0-M3","6.30.0","6.28.0","6.26.0","6.25.0","6.24.0","6.23.0","6.22.0","6.21.0","6.20.0","6.19.0","6.18.0","6.17.0","6.16.0","6.15.0","6.14.0","6.13.0","6.12.0","6.11.1","6.11.0","6.10.0","6.9.0","6.8.0","6.7.0","6.4.0","6.3.0","6.2.1","6.2.0","6.0.0","6.0.0-beta3","6.0.0-beta1","6.0.0-beta1.1","1.5.13","1.5.10","1.5.9","1.5.8","1.5.7","1.5.5","1.5.4","1.5.3","1.5.2","1.5.1","1.5.0","1.5-RC7","1.5-RC5.1.1","1.5.9.1","1.5.8.1","1.5.3.1"],"description":"Basic setup for a project that combines Scala and Wicket,\n\t\tdepending on the Wicket-Scala project. Includes an example Specs\n\t\ttest."},{"artifactId":"wikbook.archetype","groupId":"org.wikbook","versions":["0.9.45","0.9.44","0.9.43","0.9.42","0.9.41","0.9.40","0.9.39","0.9.38","0.9.37","0.9.36","0.9.35","0.9.34","0.9.33","0.9.32","0.9.31","0.9.30","0.9.29","0.9.28","0.9.27","0.9.26","0.9.25","0.9.24","0.9.23","0.9.20","0.9.19","0.9.18","0.9.17","0.9.16","0.9.15","0.9.14","0.9.13"]},{"artifactId":"wildfly-html5-mobile-archetype","groupId":"org.wildfly.archetype","versions":["8.2.0.Final"],"description":"An archetype that generates a Java EE 7 application using HTML5, and JAX-RS to support both desktop and mobile web browsers"},{"artifactId":"wildfly-html5-mobile-blank-archetype","groupId":"org.wildfly.archetype","versions":["8.2.0.Final"],"description":"An archetype that generates a Java EE 7 application using HTML5, and JAX-RS to support both desktop and mobile web browsers"},{"artifactId":"wildfly-jakartaee-ear-archetype","groupId":"org.wildfly.archetype","versions":["27.0.0.Final","26.1.0.Final","26.0.0.Final","25.0.0.Final","24.0.0.Final","23.0.0.Final","22.0.0.Final","21.0.0.Final","20.0.0.Final","19.1.0.Final","19.0.0.Final","18.0.0.Final"],"description":"An archetype that generates a starter Jakarta EE project for JBoss WildFly. The project is an EAR, with an EJB-JAR and WAR. It is prepared for Arquillian driven unit tests."},{"artifactId":"wildfly-jakartaee-webapp-archetype","groupId":"org.wildfly.archetype","versions":["27.0.0.Final","26.1.0.Final","26.0.0.Final","25.0.0.Final","24.0.0.Final","23.0.0.Final","22.0.0.Final","21.0.0.Final","20.0.0.Final","19.1.0.Final","19.0.0.Final","18.0.0.Final"],"description":"An archetype that generates a starter Jakarta EE project for JBoss WildFly. The project is a WAR archive. It is prepared for Arquillian driven unit tests."},{"artifactId":"wildfly-javaee7-webapp-archetype","groupId":"org.wildfly.archetype","versions":["8.2.0.Final","8.1.0.Final"],"description":"An archetype that generates a starter Java EE 7 webapp project for JBoss Wildfly"},{"artifactId":"wildfly-javaee7-webapp-blank-archetype","groupId":"org.wildfly.archetype","versions":["8.2.0.Final","8.1.0.Final"],"description":"An archetype that generates a starter Java EE 7 webapp project for JBoss Wildfly"},{"artifactId":"wildfly-javaee7-webapp-ear-archetype","groupId":"org.wildfly.archetype","versions":["8.2.0.Final","8.1.0.Final"],"description":"An archetype that generates a starter Java EE 7 webapp project for JBoss Wildfly. The project is an EAR, with an EJB-JAR and WAR"},{"artifactId":"wildfly-javaee7-webapp-ear-blank-archetype","groupId":"org.wildfly.archetype","versions":["8.2.0.Final","8.1.0.Final"],"description":"An archetype that generates a starter Java EE 7 webapp project for JBoss Wildfly. The project is an EAR, with an EJB-JAR and WAR"},{"artifactId":"wildfly-subsystem","groupId":"org.wildfly.archetype","versions":["27.0.0.Final","26.1.0.Final","26.0.0.Final","25.0.0.Final","24.0.0.Final","23.0.0.Final","22.0.0.Final","21.0.0.Final","20.0.0.Final","19.1.0.Final","19.0.0.Final","18.0.0.Final"],"description":"An archetype that generates a Subsystem for JBoss WildFly."},{"artifactId":"wildfly-subsystem","groupId":"org.wildfly.archetypes","versions":["8.0.0.Final"],"description":"An archetype that generates a skeleton project for implementing a WildFly 8 subsystem"},{"artifactId":"wildfly-camel-archetype-cdi","groupId":"org.wildfly.camel.archetypes","versions":["12.0.0","11.1.0","11.0.1","11.0.0","10.3.0","10.2.0","10.1.0","10.0.0","9.1.0","9.0.0","8.0.0","7.0.0","6.1.0","6.0.0","5.1.0","5.0.0","4.9.0","4.8.0","4.7.0","4.6.0","4.5.0","4.4.0","4.3.0","4.2.1","4.2.0","4.1.1","4.1.0","4.0.0","3.3.0","3.2.0","3.1.0","4.5.0.redhat-1","4.3.0.redhat-1","3.0.1.redhat-1","3.0.0.redhat-1","2.3.0.redhat-621222","2.3.0.redhat-621216","2.3.0.redhat-621211","2.3.0.redhat-621186","2.3.0.redhat-621177","2.3.0.redhat-621169","2.3.0.redhat-621159","2.3.0.redhat-621117","2.3.0.redhat-621107","2.3.0.redhat-621090","2.3.0.redhat-621084"],"description":"Creates a WildFly Camel CDI application"},{"artifactId":"wildfly-camel-archetype-spring","groupId":"org.wildfly.camel.archetypes","versions":["12.0.0","11.1.0","11.0.1","11.0.0","10.3.0","10.2.0","10.1.0","10.0.0","9.1.0","9.0.0","8.0.0","7.0.0","6.1.0","6.0.0","5.1.0","5.0.0","4.9.0","4.8.0","4.7.0","4.6.0","4.5.0","4.4.0","4.3.0","4.2.1","4.2.0","4.1.1","4.1.0","4.0.0","3.3.0","3.2.0","3.1.0","4.5.0.redhat-1","4.3.0.redhat-1","3.0.1.redhat-1","3.0.0.redhat-1","2.3.0.redhat-621222","2.3.0.redhat-621216","2.3.0.redhat-621211","2.3.0.redhat-621186","2.3.0.redhat-621177","2.3.0.redhat-621169","2.3.0.redhat-621159","2.3.0.redhat-621117","2.3.0.redhat-621107","2.3.0.redhat-621090","2.3.0.redhat-621084"],"description":"Creates a WildFly Camel Spring application"},{"artifactId":"archetype","groupId":"org.wildfly.swarm","versions":["1.0.0.Alpha8","1.0.0.Alpha7","1.0.0.Alpha6"]},{"artifactId":"wiperdog-osgi-bundle-archetype","groupId":"org.wiperdog","versions":["0.1.0"]},{"artifactId":"wiperdog-osgi-ipojo-archetype","groupId":"org.wiperdog","versions":["0.1.0"]},{"artifactId":"wisdom-default-project-archetype","groupId":"org.wisdom-framework","versions":["0.10.0","0.9.1","0.9.0","0.8.0","0.7.0","0.6.5","0.6.4","0.6.3","0.6.2","0.6.1"]},{"artifactId":"wisdom-simple-watcher-archetype","groupId":"org.wisdom-framework","versions":["0.10.0","0.9.1","0.9.0","0.8.0","0.7.0","0.6.5","0.6.4","0.6.3","0.6.2","0.6.1"]},{"artifactId":"bpel-archetype","groupId":"org.wso2.appfactory","versions":["2.1.0"],"description":"WSO2 AppFactory - Maven archetype"},{"artifactId":"dbs-archetype","groupId":"org.wso2.appfactory","versions":["2.1.0"],"description":"WSO2 AppFactory - Maven archetype"},{"artifactId":"dotnet-archetype","groupId":"org.wso2.appfactory","versions":["2.1.0"],"description":"WSO2 AppFactory - Maven archetype"},{"artifactId":"esb-archetype","groupId":"org.wso2.appfactory","versions":["2.1.0"],"description":"WSO2 AppFactory - Maven archetype"},{"artifactId":"jaggery-archetype","groupId":"org.wso2.appfactory","versions":["2.1.0"],"description":"WSO2 AppFactory - Maven archetype"},{"artifactId":"jaxrs-archetype","groupId":"org.wso2.appfactory","versions":["2.1.0"],"description":"WSO2 AppFactory - Maven archetype"},{"artifactId":"jaxws-archetype","groupId":"org.wso2.appfactory","versions":["2.1.0"],"description":"WSO2 AppFactory - Maven archetype"},{"artifactId":"php-archetype","groupId":"org.wso2.appfactory","versions":["2.1.0"],"description":"WSO2 AppFactory - Maven archetype"},{"artifactId":"webapp-archetype","groupId":"org.wso2.appfactory","versions":["2.1.0"],"description":"WSO2 AppFactory - Maven archetype"},{"artifactId":"org.wso2.carbon.archetypes.bundle","groupId":"org.wso2.carbon","versions":["5.3.0","5.3.0-alpha","5.2.18","5.2.16","5.2.15","5.2.14","5.2.13","5.2.8","5.2.7","5.2.6","5.2.5","5.2.4","5.2.3","5.2.2","5.2.1","5.0.0"],"description":"This is an archetype for an OSGi bundle"},{"artifactId":"org.wso2.carbon.archetypes.component","groupId":"org.wso2.carbon","versions":["5.3.0","5.3.0-alpha","5.2.18","5.2.16","5.2.15","5.2.14","5.2.13","5.2.8","5.2.7","5.2.6","5.2.5","5.2.4","5.2.3","5.2.2","5.2.1","5.0.0"],"description":"This is an archetype for a Carbon Component which consumes an OSGi service registered by Carbon Kernel"},{"artifactId":"org.wso2.carbon.extension.analytics.publisher-archetype","groupId":"org.wso2.carbon.extension.archetype","versions":["2.0.16","2.0.15","2.0.14","2.0.13","2.0.10","2.0.9","2.0.8","2.0.7","2.0.6","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0"]},{"artifactId":"org.wso2.carbon.extension.analytics.receiver-archetype","groupId":"org.wso2.carbon.extension.archetype","versions":["2.0.16","2.0.15","2.0.14","2.0.13","2.0.10","2.0.9","2.0.8","2.0.7","2.0.6","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0"]},{"artifactId":"org.wso2.carbon.extension.archetype.esb.connector-archetype","groupId":"org.wso2.carbon.extension.archetype","versions":["1.0.1","1.0.0"],"description":"Platform Parent pom hold the properties, plugins which are required to build carbon components, carbon features and products"},{"artifactId":"org.wso2.carbon.extension.archetype.is.authenticator-archetype","groupId":"org.wso2.carbon.extension.archetype","versions":["1.0.1","1.0.0"],"description":"Platform Parent pom hold the properties, plugins which are required to build carbon components, carbon\n features and products"},{"artifactId":"org.wso2.carbon.extension.archetype.is.provisioning-connector-archetype","groupId":"org.wso2.carbon.extension.archetype","versions":["1.0.1","1.0.0"],"description":"Platform Parent pom hold the properties, plugins which are required to build carbon components, carbon\n features and products"},{"artifactId":"org.wso2.carbon.extension.esb.connector-archetype","groupId":"org.wso2.carbon.extension.archetype","versions":["2.0.16","2.0.15","2.0.14","2.0.13","2.0.10","2.0.9","2.0.8","2.0.7","2.0.6","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0"]},{"artifactId":"org.wso2.carbon.extension.esb.project-archetype","groupId":"org.wso2.carbon.extension.archetype","versions":["2.0.16","2.0.15","2.0.14","2.0.13","2.0.11","2.0.10","2.0.9","2.0.8","2.0.7"]},{"artifactId":"org.wso2.carbon.extension.is.authenticator-archetype","groupId":"org.wso2.carbon.extension.archetype","versions":["2.0.16","2.0.15","2.0.14","2.0.13","2.0.10","2.0.9","2.0.8","2.0.7","2.0.6","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0"],"description":"Platform Parent pom hold the properties, plugins which are required to build carbon components, carbon\n features and products"},{"artifactId":"org.wso2.carbon.extension.is.local-authenticator-archetype","groupId":"org.wso2.carbon.extension.archetype","versions":["2.0.16","2.0.15","2.0.14","2.0.13"]},{"artifactId":"org.wso2.carbon.extension.is.provisioning-connector-archetype","groupId":"org.wso2.carbon.extension.archetype","versions":["2.0.16","2.0.15","2.0.14","2.0.13","2.0.10","2.0.9","2.0.8","2.0.7","2.0.6","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0"],"description":"Platform Parent pom hold the properties, plugins which are required to build carbon components, carbon\n features and products"},{"artifactId":"org.wso2.extension.siddhi.aggregator-archetype","groupId":"org.wso2.carbon.extension.archetype","versions":["2.0.16","2.0.15","2.0.14","2.0.13","2.0.10","2.0.9","2.0.8","2.0.7","2.0.6","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0"]},{"artifactId":"org.wso2.extension.siddhi.function-archetype","groupId":"org.wso2.carbon.extension.archetype","versions":["2.0.16","2.0.15","2.0.14","2.0.13","2.0.10","2.0.9","2.0.8","2.0.7","2.0.6","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0"]},{"artifactId":"org.wso2.extension.siddhi.streamfunction-archetype","groupId":"org.wso2.carbon.extension.archetype","versions":["2.0.16","2.0.15","2.0.14","2.0.13","2.0.10","2.0.9","2.0.8","2.0.7","2.0.6","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0"]},{"artifactId":"org.wso2.extension.siddhi.streamprocessor-archetype","groupId":"org.wso2.carbon.extension.archetype","versions":["2.0.16","2.0.15","2.0.14","2.0.13","2.0.10","2.0.9","2.0.8","2.0.7","2.0.6","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0"]},{"artifactId":"org.wso2.extension.siddhi.window-archetype","groupId":"org.wso2.carbon.extension.archetype","versions":["2.0.16","2.0.15","2.0.14","2.0.13","2.0.10","2.0.9","2.0.8","2.0.7","2.0.6","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0"]},{"artifactId":"iot-devicetype-archetype","groupId":"org.wso2.iot","versions":["3.3.1","3.3.0","3.2.0","3.1.0-update11","3.1.0-update10","3.1.0-UPDATE9","3.1.0-UPDATE8","3.1.0-UPDATE7","3.1.0-UPDATE6","3.1.0-UPDATE5","3.1.0-UPDATE4"],"description":"WSO2 IoT Device Type Archetype"},{"artifactId":"humantask-maven-plugin","groupId":"org.wso2.maven","versions":["5.2.42","5.2.41","5.2.39","5.2.38","5.2.37","5.2.36","5.2.35","5.2.34","5.2.33","5.2.32","5.2.31","5.2.30","5.2.29","5.2.28","5.2.27","5.2.26","5.2.25","5.2.24","5.2.23","5.2.22","5.2.21","5.2.20","5.2.19","5.2.18","5.2.17","5.2.16"]},{"artifactId":"maven-car-deploy-plugin","groupId":"org.wso2.maven","versions":["5.2.42","5.2.41","5.2.39","5.2.38","5.2.37","5.2.36","5.2.35","5.2.34","5.2.33","5.2.32","5.2.31","5.2.30","5.2.29","5.2.28","5.2.27","5.2.26","5.2.25","5.2.24","5.2.23","5.2.22","5.2.21","5.2.20","5.2.19","5.2.18","5.2.17","5.2.16","5.2.10","5.2.9","5.2.8","5.2.7","5.2.3","5.2.2","5.2.1","5.2.0","5.1.3","5.1.2"],"description":"Maven plugin which deploys the generated CAR artifacts to remote/local Carbon Servers."},{"artifactId":"maven-car-plugin","groupId":"org.wso2.maven","versions":["5.2.42","5.2.41","5.2.39","5.2.38","5.2.37","5.2.36","5.2.35","5.2.34","5.2.33","5.2.32","5.2.31","5.2.30","5.2.29","5.2.28","5.2.27","5.2.26","5.2.25","5.2.24","5.2.23","5.2.22","5.2.21","5.2.20","5.2.19","5.2.18","5.2.17","5.2.16","5.2.10","5.2.9","5.2.8","5.2.7","5.2.3","5.2.2","5.2.1","5.2.0","5.1.3","5.1.2"],"description":"Maven plugin which creates CAR artifact"},{"artifactId":"maven-carbon-ui-plugin","groupId":"org.wso2.maven","versions":["5.2.42","5.2.41","5.2.39","5.2.38","5.2.37","5.2.36","5.2.35","5.2.34","5.2.33","5.2.32","5.2.31","5.2.30","5.2.29","5.2.28","5.2.27","5.2.26","5.2.25","5.2.24","5.2.23","5.2.22","5.2.21","5.2.20","5.2.19","5.2.18","5.2.17","5.2.16","5.2.10","5.2.9","5.2.8","5.2.7","5.2.3","5.2.2","5.2.1","5.2.0","5.1.3","5.1.2"],"description":"Maven plugin which creates and builds Carbon UI artifacts"},{"artifactId":"maven-synapse-plugin","groupId":"org.wso2.maven","versions":["5.2.42"],"description":"Maven plugin which creates and builds Synapse configuration artifacts"},{"artifactId":"wso2-esb-api-plugin","groupId":"org.wso2.maven","versions":["5.2.42"],"description":"Maven plugin which creates, builds and installs an RESTful API module"},{"artifactId":"wso2-esb-endpoint-plugin","groupId":"org.wso2.maven","versions":["5.2.42"],"description":"Maven plugin which creates and builds Endpoint artifacts"},{"artifactId":"wso2-esb-inboundendpoint-plugin","groupId":"org.wso2.maven","versions":["5.2.42"],"description":"Maven plugin which creates, builds and installs an inbound endpoint module"},{"artifactId":"wso2-esb-localentry-plugin","groupId":"org.wso2.maven","versions":["5.2.42"],"description":"Maven plugin which creates and builds Local Entry artifacts"},{"artifactId":"wso2-esb-messageprocessor-plugin","groupId":"org.wso2.maven","versions":["5.2.42"],"description":"Maven plugin which creates, builds and installs a MessageProcessor module"},{"artifactId":"wso2-esb-messagestore-plugin","groupId":"org.wso2.maven","versions":["5.2.42"],"description":"Maven plugin which creates, builds and installs a MessageStore module"},{"artifactId":"wso2-esb-proxy-plugin","groupId":"org.wso2.maven","versions":["5.2.42"],"description":"Maven plugin which creates, builds and installs a proxy service module"},{"artifactId":"wso2-esb-sequence-plugin","groupId":"org.wso2.maven","versions":["5.2.42"],"description":"Maven plugin which creates and builds Sequence artifacts"},{"artifactId":"wso2-esb-synapse-plugin","groupId":"org.wso2.maven","versions":["5.2.42"],"description":"Maven plugin which creates and builds Synapse configuration artifacts"},{"artifactId":"wso2-esb-task-plugin","groupId":"org.wso2.maven","versions":["5.2.42"],"description":"Maven plugin which creates, builds and installs a Task module"},{"artifactId":"wso2-esb-template-plugin","groupId":"org.wso2.maven","versions":["5.2.42"],"description":"Maven plugin which creates, builds and installs an ESB Template module"},{"artifactId":"wso2-general-project-plugin","groupId":"org.wso2.maven","versions":["5.2.42","5.2.41","5.2.39","5.2.38","5.2.37","5.2.36","5.2.35","5.2.34","5.2.33","5.2.32","5.2.31","5.2.30"]},{"artifactId":"msf4j-microservice","groupId":"org.wso2.msf4j","versions":["2.8.11","2.8.10","2.8.8","2.8.7","2.8.6","2.8.4","2.8.3","2.8.2","2.7.8","2.7.7","2.7.0","2.6.4","2.6.3","2.6.2","2.6.1","2.6.0","2.5.2","2.5.1","2.5.0","2.5.0-beta","2.5.0-beta2","2.4.3","2.4.2","2.4.1","2.4.0","2.1.0","2.0.0","1.0.0"],"description":"This an archetype for WSO2 MSF4J microservice"},{"artifactId":"sample-maven-archetype","groupId":"org.wso2.org.apache.shindig","versions":["2.5.2-wso2v8","2.5.2-wso2v7","2.5.2-wso2v6","2.5.2-wso2v5","2.5.2-wso2v4","2.5.2-wso2v3","2.5.2-wso2v2","2.5.2-wso2v1","2.5.2-wso2v17","2.5.2-wso2v16","2.5.2-wso2v15","2.5.2-wso2v12","2.5.2-wso2v11"],"description":"Default server war dependencies"},{"artifactId":"siddhi-archetype-execution","groupId":"org.wso2.siddhi.extension.archetype","versions":["1.0.2","1.0.1"]},{"artifactId":"siddhi-archetype-io","groupId":"org.wso2.siddhi.extension.archetype","versions":["1.0.2","1.0.1"]},{"artifactId":"siddhi-archetype-map","groupId":"org.wso2.siddhi.extension.archetype","versions":["1.0.2","1.0.1"]},{"artifactId":"siddhi-archetype-script","groupId":"org.wso2.siddhi.extension.archetype","versions":["1.0.2","1.0.1"]},{"artifactId":"siddhi-archetype-store","groupId":"org.wso2.siddhi.extension.archetype","versions":["1.0.2","1.0.1"]},{"artifactId":"xaloon-archetype-wicket-jpa-glassfish","groupId":"org.xaloon.archetype","versions":["1.6.1","1.6.0","1.5.2","1.5.1","1.5.0"]},{"artifactId":"xaloon-archetype-wicket-jpa-spring","groupId":"org.xaloon.archetype","versions":["1.6.1","1.6.0","1.5.2","1.5.1","1.5.0"]},{"artifactId":"xillium-arch","groupId":"org.xillium","versions":["1.2.2","1.2.1","1.2.0","1.1.8","1.1.7","1.1.6","1.1.5","1.1.4","1.1.3","1.1.2","1.1.1","1.1.0"]},{"artifactId":"xwiki-commons-component-archetype","groupId":"org.xwiki.commons","versions":["15.1","15.1-rc-1","15.0","15.0-rc-1","14.10.5","14.10.4","14.10.3","14.10.2","14.10.1","14.10","14.9","14.9-rc-1","14.8","14.8-rc-1","14.7","14.7-rc-1","14.6","14.6-rc-1","14.5","14.4.7","14.4.6","14.4.5","14.4.4","14.4.3","14.4.2","14.4.1","14.4","14.4-rc-1","14.3.1","14.3","14.3-rc-1","14.2.1","14.2","14.2-rc-1","14.1","14.1-rc-1","14.0","14.0-rc-1","13.10.11","13.10.10","13.10.9","13.10.8","13.10.7","13.10.6","13.10.5","13.10.4","13.10.3","13.10.2","13.10.1","13.10","13.10-rc-1","13.9","13.9-rc-1","13.8","13.8-rc-1","13.7","13.7-rc-1","13.6","13.6-rc-1","13.5","13.5-rc-1","13.4.7","13.4.6","13.4.5","13.4.4","13.4.3","13.4.2","13.4.1","13.4","13.4-rc-1","13.3","13.3-rc-1","13.2","13.2-rc-1","13.1","13.1-rc-1","13.0","12.10.11","12.10.10","12.10.9","12.10.8","12.10.7","12.10.6","12.10.5","12.10.4","12.10.3","12.10.2","12.10.1","12.10","12.9","12.9-rc-1","12.8","12.8-rc-1","12.7.1","12.7","12.7-rc-1","12.6.8","12.6.7","12.6.6","12.6.5","12.6.4","12.6.3","12.6.2","12.6.1","12.6","12.5.1","12.5","12.5-rc-1","12.4","12.4-rc-1","12.3","12.3-rc-1","12.2.1","12.2","12.1","12.1-rc-1","12.0","12.0-rc-1","11.10.13","11.10.12","11.10.11","11.10.10","11.10.8","11.10.7","11.10.6","11.10.5","11.10.4","11.10.3","11.10.2","11.10.1","11.10","11.9","11.8.1","11.8","11.8-rc-1","11.7","11.7-rc-1","11.6.1","11.6","11.6-rc-1","11.5","11.5-rc-1","11.4","11.4-rc-1","11.3.7","11.3.6","11.3.5","11.3.4","11.3.3","11.3.2","11.3.1","11.3","11.3-rc-1","11.2","11.2-rc-1","11.1","11.1-rc-1","11.0.3","11.0.2","11.0.1","11.0","10.11.11","10.11.10","10.11.9","10.11.8","10.11.7","10.11.6","10.11.5","10.11.4","10.11.3","10.11.2","10.11.1","10.11","10.11-rc-1","10.10","10.10-rc-1","10.9","10.8.3","10.8.2","10.8.1","10.8","10.8-rc-1","10.7.1","10.7","10.7-rc-1","10.6.1","10.6","10.6-rc-1","10.5","10.5-rc-1","10.4","10.4-rc-1","10.3","10.2","10.1","10.1-rc-1","10.0","9.11.9","9.11.8","9.11.7","9.11.6","9.11.5","9.11.4","9.11.3","9.11.2","9.11.1","9.11","9.11-rc-1","9.10.1","9.10","9.10-rc-1","9.9","9.9-rc-2","9.9-rc-1","9.8.1","9.8","9.8-rc-1","9.7","9.7-rc-1","9.6","9.6-rc-1","9.5.1","9.5","9.5-rc-1","9.4","9.4-rc-1","9.3.1","9.3","9.3-rc-1","9.2","9.2-rc-1","9.1.2","9.1.1","9.1","9.1-rc-1","9.0","9.0-rc-1","8.4.6","8.4.5","8.4.4","8.4.3","8.4.2","8.4.1","8.4","8.4-rc-1","8.3","8.3-rc-1","8.3-milestone-2","8.2.2","8.2.1","8.2","8.2-rc-1","8.2-milestone-2","8.2-milestone-1","8.1","8.1-rc-1","8.1-milestone-2","8.1-milestone-1","8.0","8.0-rc-1","8.0-milestone-2","8.0-milestone-1","7.4.6","7.4.5","7.4.4","7.4.3","7.4.2","7.4.1","7.4","7.4-rc-1","7.4-milestone-2","7.4-milestone-1","7.3","7.3-rc-1","7.3-milestone-1","7.2","7.2-rc-1","7.2-milestone-3","7.2-milestone-2","7.2-milestone-1","7.1.4","7.1.3","7.1.2","7.1.1","7.1","7.1-rc-1","7.1-milestone-2","7.1-milestone-1","7.0.1","7.0","7.0-rc-1","7.0-milestone-2","7.0-milestone-1","6.4.8","6.4.7","6.4.6","6.4.5","6.4.4","6.4.3","6.4.2","6.4.1","6.4","6.4-rc-1","6.4-milestone-3","6.4-milestone-2","6.4-milestone-1","6.3","6.3-rc-1","6.3-milestone-2","6.3-milestone-1","6.2.7","6.2.6","6.2.5","6.2.4","6.2.3","6.2.2","6.2.1","6.2","6.2-rc-1","6.2-milestone-2","6.2-milestone-1","6.1","6.1-rc-1","6.1-milestone-2","6.1-milestone-1","6.0.1","6.0","6.0-rc-1","6.0-milestone-2","6.0-milestone-1","5.4.7","5.4.6","5.4.5","5.4.4","5.4.3","5.4.2","5.4.1","5.4","5.4-rc-1","5.4-milestone-1","5.3","5.3-rc-1","5.3-milestone-2","5.3-milestone-1","5.2.4","5.2.3","5.2.2","5.2.1","5.2","5.2-rc-1","5.2-milestone-2","5.2-milestone-1","5.1","5.1-rc-1","5.1-milestone-2","5.1-milestone-1","5.0.3","5.0.2","5.0.1","5.0","5.0-rc-1","5.0-milestone-2","5.0-milestone-1","4.5.3","4.5.2","4.5.1","4.5","4.5-rc-1","4.5-milestone-1","4.4.1","4.4","4.4-rc-1","4.3.1","4.3","4.3-rc-1","4.3-milestone-2","4.3-milestone-1","4.2","4.2-rc-1","4.2-milestone-3","4.2-milestone-2","4.2-milestone-1","4.1.4","4.1.3","4.1.2","4.1.1","4.1","4.1-rc-1","4.1-milestone-2","4.1-milestone-1","4.0.1","4.0","4.0-rc-1","4.0-milestone-2","4.0-milestone-1","3.5.1","3.5","3.5-milestone-1","3.4","3.4-rc-1","3.4-milestone-1","3.3.1","3.3","3.3-rc-1","3.3-milestone-2","3.3-milestone-1"],"description":"Make it easy to create a maven project for creating XWiki Components."},{"artifactId":"xwiki-rendering-archetype-macro","groupId":"org.xwiki.rendering","versions":["15.1","15.1-rc-1","15.0","15.0-rc-1","14.10.5","14.10.4","14.10.3","14.10.2","14.10.1","14.10","14.9","14.9-rc-1","14.8","14.8-rc-1","14.7","14.7-rc-1","14.6","14.6-rc-1","14.5","14.4.7","14.4.6","14.4.5","14.4.4","14.4.3","14.4.2","14.4.1","14.4","14.4-rc-1","14.3.1","14.3","14.3-rc-1","14.2.1","14.2","14.2-rc-1","14.1","14.1-rc-1","14.0","14.0-rc-1","13.10.11","13.10.10","13.10.9","13.10.8","13.10.7","13.10.6","13.10.5","13.10.4","13.10.3","13.10.2","13.10.1","13.10","13.10-rc-1","13.9","13.9-rc-1","13.8","13.8-rc-1","13.7","13.7-rc-1","13.6","13.6-rc-1","13.5","13.5-rc-1","13.4.7","13.4.6","13.4.5","13.4.4","13.4.3","13.4.2","13.4.1","13.4","13.4-rc-1","13.3","13.3-rc-1","13.2","13.2-rc-1","13.1","13.1-rc-1","13.0","12.10.11","12.10.10","12.10.9","12.10.8","12.10.7","12.10.6","12.10.5","12.10.4","12.10.3","12.10.2","12.10.1","12.10","12.9","12.9-rc-1","12.8","12.8-rc-1","12.7.1","12.7","12.7-rc-1","12.6.8","12.6.7","12.6.6","12.6.5","12.6.4","12.6.3","12.6.2","12.6.1","12.6","12.5.1","12.5","12.5-rc-1","12.4","12.4-rc-1","12.3","12.3-rc-1","12.2.1","12.2","12.1","12.1-rc-1","12.0","12.0-rc-1","11.10.13","11.10.12","11.10.11","11.10.10","11.10.8","11.10.7","11.10.6","11.10.5","11.10.4","11.10.3","11.10.2","11.10.1","11.10","11.9","11.8.1","11.8","11.8-rc-1","11.7","11.7-rc-1","11.6.1","11.6","11.6-rc-1","11.5","11.5-rc-1","11.4","11.4-rc-1","11.3.7","11.3.6","11.3.5","11.3.4","11.3.3","11.3.2","11.3.1","11.3","11.3-rc-1","11.2","11.2-rc-1","11.1","11.1-rc-1","11.0.3","11.0.2","11.0.1","11.0","10.11.11","10.11.10","10.11.9","10.11.8","10.11.7","10.11.6","10.11.5","10.11.4","10.11.3","10.11.2","10.11.1","10.11","10.11-rc-1","10.10","10.10-rc-1","10.9","10.8.3","10.8.2","10.8.1","10.8","10.8-rc-1","10.7.1","10.7","10.7-rc-1","10.6.1","10.6","10.6-rc-1","10.5","10.5-rc-1","10.4","10.4-rc-1","10.3","10.2","10.1","10.1-rc-1","10.0","9.11.9","9.11.8","9.11.7","9.11.6","9.11.5","9.11.4","9.11.3","9.11.2","9.11.1","9.11","9.11-rc-1","9.10.1","9.10","9.10-rc-1","9.9","9.9-rc-2","9.8.1","9.8","9.8-rc-1","9.7","9.7-rc-1","9.6","9.6-rc-1","9.5.1","9.5","9.5-rc-1","9.4","9.4-rc-1","9.3.1","9.3","9.3-rc-1","9.2","9.2-rc-1","9.1.2","9.1.1","9.1","9.1-rc-1","9.0","9.0-rc-1","8.4.6","8.4.5","8.4.4","8.4.3","8.4.2","8.4.1","8.4","8.4-rc-1","8.3","8.3-rc-1","8.3-milestone-2","8.2.2","8.2.1","8.2","8.2-rc-1","8.2-milestone-2","8.2-milestone-1","8.1","8.1-rc-1","8.1-milestone-2","8.1-milestone-1","8.0","8.0-rc-1","8.0-milestone-2","8.0-milestone-1","7.4.6","7.4.5","7.4.4","7.4.2","7.4.1","7.4","7.4-rc-1","7.4-milestone-2","7.4-milestone-1","7.3","7.3-rc-1","7.3-milestone-1","7.2","7.2-rc-1","7.2-milestone-3","7.2-milestone-2","7.2-milestone-1","7.1.4","7.1.3","7.1.2","7.1.1","7.1","7.1-rc-1","7.1-milestone-2","7.1-milestone-1","7.0.1","7.0","7.0-rc-1","7.0-milestone-2","7.0-milestone-1","6.4.8","6.4.7","6.4.6","6.4.5","6.4.4","6.4.3","6.4.2","6.4.1","6.4","6.4-rc-1","6.4-milestone-3","6.4-milestone-2","6.4-milestone-1","6.3","6.3-rc-1","6.3-milestone-2","6.3-milestone-1","6.2.7","6.2.5","6.2.4","6.2.3","6.2.2","6.2.1","6.2","6.2-rc-1","6.2-milestone-2","6.2-milestone-1","6.1","6.1-rc-1","6.1-milestone-2","6.1-milestone-1","6.0.1","6.0","6.0-rc-1","6.0-milestone-2","6.0-milestone-1","5.4.7","5.4.6","5.4.5","5.4.4","5.4.3","5.4.2","5.4.1","5.4","5.4-rc-1","5.4-milestone-1","5.3","5.3-rc-1","5.3-milestone-2","5.3-milestone-1","5.2.4","5.2.3","5.2.2","5.2.1","5.2","5.2-rc-1","5.2-milestone-2","5.2-milestone-1","5.1","5.1-rc-1","5.1-milestone-2","5.1-milestone-1","5.0.3","5.0.2","5.0.1","5.0","5.0-rc-1","5.0-milestone-2","5.0-milestone-1","4.5.3","4.5.2","4.5.1","4.5","4.5-rc-1","4.5-milestone-1","4.4.1","4.4","4.4-rc-1","4.3.1","4.3","4.3-rc-1","4.3-milestone-2","4.3-milestone-1","4.2","4.2-rc-1","4.2-milestone-3","4.2-milestone-2","4.2-milestone-1","4.1.4","4.1.3","4.1.2","4.1.1","4.1","4.1-rc-1","4.1-milestone-2","4.1-milestone-1","4.0.1","4.0","4.0-rc-1","4.0-milestone-2","4.0-milestone-1","3.5.1","3.5","3.5-milestone-1","3.4","3.4-rc-1","3.4-milestone-1","3.3.1","3.3","3.3-rc-1","3.3-milestone-2","3.3-milestone-1","3.2.1","3.2","3.2-rc-1","3.2-milestone-3"],"description":"Make it easy to create a maven project for creating XWiki Rendering Macros."},{"artifactId":"yamcs-archetype-quickstart","groupId":"org.yamcs","versions":["1.1.1","1.1.0","1.0.2","1.0.1","1.0.0"],"description":"This archetype can be used to create a new Yamcs project"},{"artifactId":"zk-archetype-component","groupId":"org.zkoss","versions":["9.6.0","9.0.0","8.5.0","8.0.0","7.0.3","7.0.2","6.0.0","0.8.1","9.5.0.3","8.0.2.2","8.0.1.1","8.0.0.4","8.0.0.3","8.0.0.1","7.0.3.1"],"description":"An archetype that generates a starter ZK component project"},{"artifactId":"zk-archetype-datahandler","groupId":"org.zkoss","versions":["9.6.0","9.0.0","8.5.0","8.0.0","9.5.0.3","8.0.2.2","8.0.1.1","8.0.0.4","8.0.0.3","8.0.0.1"],"description":"An archetype that generates a starter ZK datahandler project"},{"artifactId":"zk-archetype-extension","groupId":"org.zkoss","versions":["9.6.0","9.0.0","8.5.0","8.0.0","7.0.3","7.0.2","6.0.0","9.5.0.3","8.0.2.2","8.0.1.1","8.0.0.4","8.0.0.3","8.0.0.1","7.0.3.1"],"description":"An archetype that generates a starter ZK extension project"},{"artifactId":"zk-archetype-theme","groupId":"org.zkoss","versions":["9.6.0","9.0.0","8.5.0","8.0.0","7.0.3","7.0.2","7.0.0","7.0.0-RC","7.0.0-Preview","9.5.0.3","8.0.2.2","8.0.1.1","8.0.0.4","8.0.0.3","8.0.0.1","7.0.3.1"],"description":"An archetype that generates a starter ZK theme project"},{"artifactId":"zk-archetype-webapp","groupId":"org.zkoss","versions":["9.6.0","9.0.0","8.5.0","8.0.0","7.0.3","7.0.2","6.5.2","0.8.1","9.5.0.3","8.0.2.2","8.0.1.1","8.0.0.4","8.0.0.3","8.0.0.1","7.0.3.1"],"description":"An archetype that generates a starter ZK CE webapp project"},{"artifactId":"zk-ee-eval-archetype-webapp","groupId":"org.zkoss","versions":["9.6.0","9.0.0","8.5.0","8.0.0","7.0.3","7.0.2","6.5.2","9.5.0.3","8.0.2.2","8.0.1.1","8.0.0.4","8.0.0.3","8.0.0.1","7.0.3.1"],"description":"An archetype that generates a starter ZK EE-eval webapp project"},{"artifactId":"zk-ee-eval-archetype-webapp-spring","groupId":"org.zkoss","versions":["9.6.0","9.0.0","8.5.0","8.0.0","7.0.3","7.0.2","6.5.2","9.5.0.3","8.0.2.2","8.0.1.1","8.0.0.4","8.0.0.3","8.0.0.1","7.0.3.1"],"description":"An archetype that generates a starter ZK EE-eval webapp project with Spring"},{"artifactId":"zk-ee-eval-archetype-webapp-spring-jpa","groupId":"org.zkoss","versions":["9.6.0","9.0.0","8.5.0","8.0.0","7.0.3","7.0.2","6.5.2","9.5.0.3","8.0.2.2","8.0.1.1","8.0.0.4","8.0.0.3","8.0.0.1","7.0.3.1"],"description":"An archetype that generates a starter ZK EE-eval webapp project with Spring and JPA"},{"artifactId":"promena-executable-archetype","groupId":"pl.beone.promena.sdk.maven.archetype","versions":["1.0.0"],"description":"pl.beone.promena.sdk.maven.archetype:promena-executable-archetype"},{"artifactId":"promena-module-archetype","groupId":"pl.beone.promena.sdk.maven.archetype","versions":["1.0.0"],"description":"pl.beone.promena.sdk.maven.archetype:promena-module-archetype"},{"artifactId":"promena-transformer-archetype","groupId":"pl.beone.promena.sdk.maven.archetype","versions":["1.0.1","1.0.0"],"description":"pl.beone.promena.sdk.maven.archetype:promena-transformer-archetype"},{"artifactId":"webapp-archetype","groupId":"pl.bristleback","versions":["0.3.5","0.3.0","0.2.1"],"description":"Web archetype for Bristleback Websocket Framework"},{"artifactId":"websight-cms-ce-project-archetype","groupId":"pl.ds.websight","versions":["1.6","1.5","1.4","1.3","1.2","1.1","1.0","0.3","0.2","0.1"],"description":"Maven Archetype for bootstrapping WebSight CMS CE projects"},{"artifactId":"dw-archetype","groupId":"pl.najda","versions":["1.1","1.0"],"description":"Archetype for building an initial structure of directories and files for Dropwizard web services. Contains a simple web service (available at http://localhost:8082/hello-world) with sources - to simplify development."},{"artifactId":"java8-quickstart-archetype","groupId":"pl.org.miki","versions":["1.0.0"],"description":"Basic Java 8 archetype. Options:\n-testLibrary: [junit, testng, none]. DEFAULT: junit. Adds the requested test library to the POM deps.\n-compilerMode: [simple, test-only, retrolambda-main, retrolambda-all]. DEFAULT: simple.\n--simple: everything is compiled as Java 8.\n--test-only: set up test for Java 8, and main for Java 7.\n--retrolambda-main: main code is compiled as Java 8, and then converted to Java 7 via retrolambda.\n--retrolambda-all: all code is compiled as Java 8, and then converted to Java 7 via retrolambda.\n\nNOTE: Retrolambda support provided \"as is\" - if you have any problems, please file a ticket on the GitHub page!"},{"artifactId":"scala-quickstart-archetype","groupId":"pl.org.miki","versions":["0.8.2"],"description":"Customizable cruft-free Scala archetype. Options:\n-sourceFolders: [all-in-src-java, scala-only, both-split-src]. DEFAULT: all-in-src-java.\n--all-in-src-java: Scala and Java code are both in src/main/java (same for test). Plays nicely with IDEs.\n--scala-only: only src/main/scala set up, and set as source folder.\n--both-split-src: both src/main/java and src/main/scala. Can play merry havock with IDEs, so not the default.\n-testLibrary: [scalatest, specs2, scalacheck-only, junit-only]. DEFAULT: scalatest.\n--scalatest: adds Scalatest AND Scalacheck AND JUnit for most of your testing needs.\n--specs2: adds specs2 AND Scalacheck AND JUnit.\n--scalacheck-junit: adds Scalacheck AND JUnit.\n--junit-only: adds JUnit ONLY.\n-scalaVersion: 2.10.x+. DEFAULT: 2.11.2.\n*The Scala tool version is generated automatically.\n*Some Scala versions may not be compatible with selected test library versions. Adjust as necessary."},{"artifactId":"webapp-archetype","groupId":"pro.savant.circumflex","versions":["3.0-RC1"]},{"artifactId":"justtestlah-quickstart","groupId":"qa.justtestlah","versions":["1.9-RC4","1.9-RC3","1.9-RC2","1.9-RC1","1.8","1.8-RC3","1.8-RC2","1.8-RC1"],"description":"JustTestLah! is a JAVA test framework targeting projects that support multiple platforms, in particular Web, Android and iOS. It follows a BDD approach and allows testing against all platforms using the same feature files. JustTestLah's main aim is to make the configuration and the actual test code as easy as possible."},{"artifactId":"spigot-template","groupId":"ro.coderdojo.spigot","versions":["1.0"],"description":"Spigot Plugin for CoderDojo Workshops"},{"artifactId":"spigot-template-simple","groupId":"ro.coderdojo.spigot","versions":["1.0"],"description":"Spigot Simple Plugin"},{"artifactId":"pippo-quickstart","groupId":"ro.pippo","versions":["1.14.0","1.13.1","1.13.0","1.12.0","1.11.0","1.10.0","1.9.0","1.8.0","1.7.0","1.6.0","1.5.0","1.4.0","1.3.0","1.2.0","1.1.0","1.0.0","0.10.0","0.9.1","0.9.0","0.8.0","0.7.0","0.6.1","0.6.0","0.5.0"]},{"artifactId":"circumflex-archetype","groupId":"ru.circumflex","versions":["2.5","2.4","2.3","2.2","2.1","2.0.3","2.0.2","2.0.1","2.0","1.2","1.1","1.0","0.3","0.2.1","0.2","2.0.RC3","2.0.RC2","2.0.RC1"]},{"artifactId":"release","groupId":"ru.nikitav.android.archetypes","versions":["1.4"]},{"artifactId":"release-robolectric","groupId":"ru.nikitav.android.archetypes","versions":["1.4"]},{"artifactId":"dto-plugin-javaee7","groupId":"ru.send-to.archetypes","versions":["0.0.1"]},{"artifactId":"ear-plugin-javaee7","groupId":"ru.send-to.archetypes","versions":["0.0.1"]},{"artifactId":"ejb-plugin-javaee7","groupId":"ru.send-to.archetypes","versions":["0.0.1"]},{"artifactId":"root-pom-blank-javaee7","groupId":"ru.send-to.archetypes","versions":["0.0.2"]},{"artifactId":"root-pom-javaee7","groupId":"ru.send-to.archetypes","versions":["0.0.2"]},{"artifactId":"vesions-plugin-javaee7","groupId":"ru.send-to.versionManagement","versions":["0.0.2"],"description":"Versions management plugin archetype"},{"artifactId":"webdriver-java-archetype","groupId":"ru.stqa.selenium","versions":["1.0"],"description":"Archetype for a Maven project intended to develop tests with Selenium WebDriver and JUnit/TestNG"},{"artifactId":"webdriver-junit-archetype","groupId":"ru.stqa.selenium","versions":["4.5","4.4","4.3","4.2","4.1","4.0","3.0","2.1","2.0","1.1.46","1.1.45","1.1.43","1.1.42","1.1.41"],"description":"Archetype for a Maven project intended to develop tests with Selenium WebDriver and JUnit"},{"artifactId":"webdriver-junit5-archetype","groupId":"ru.stqa.selenium","versions":["4.5","4.4","4.3","4.2","4.1"],"description":"Archetype for a Maven project intended to develop tests with Selenium WebDriver and JUnit5"},{"artifactId":"webdriver-testng-archetype","groupId":"ru.stqa.selenium","versions":["4.5","4.4","4.3","4.2","4.1","4.0","3.0","2.1","2.0","1.1.46","1.1.45","1.1.43","1.1.42","1.1.41"],"description":"Archetype for a Maven project intended to develop tests with Selenium WebDriver and TestNG"},{"artifactId":"cocaine-client-archetype","groupId":"ru.yandex.cocaine","versions":["0.11.1.0"],"description":"Archetype for creating a basic client for Cocaine Application Engine."},{"artifactId":"cocaine-worker-archetype","groupId":"ru.yandex.cocaine","versions":["0.11.1.0"],"description":"Archetype for creating a basic worker for Cocaine Application Engine."},{"artifactId":"camelot-plugin","groupId":"ru.yandex.qatools.camelot","versions":["2.5.4","2.5.3","2.5.2","2.5.1-20151207","2.5.1","2.5.0","2.4.9-20150103","2.4.8-20151130","2.4.8-20151119","2.4.8-20151118","2.4.8","2.4.7","2.4.6","2.4.4","2.4.3","2.4.2","2.4.1","2.4.0","2.3.3","2.3.2","2.3.1","2.3","2.2.1","2.2","2.1.20","2.1.19","2.1.18","2.1.17","2.1.16","2.1.15","2.1.14","2.1.13","2.1.12","2.1.11","2.1.10","2.1.9","2.1.8","2.1.7","2.1.6","2.1.5","2.1.4","2.1.3","2.1.2","2.1.1","2.1"]},{"artifactId":"oss-project-archetype","groupId":"se.hiq.oss","versions":["0.1"],"description":"Archetype for HiQ OSS Projects"},{"artifactId":"javg-minimal-archetype","groupId":"se.vgregion.javg.maven.archetypes","versions":["1.9","1.8","1.7","1.6","1.5","1.4","1.3"]},{"artifactId":"ghp-maven-archetype","groupId":"se.walkercrou","versions":["1.0.1","1.0"],"description":"Quickstart for developers wanting to integrate the GHP Maven Plugin"},{"artifactId":"payara","groupId":"sh.platform.archetype","versions":["0.0.1"]},{"artifactId":"sesam-annotation-archetype","groupId":"sk.seges.sesam","versions":["1.2.2","1.2.1","1.2.0"]},{"artifactId":"jpaz2-archetype-launcher","groupId":"sk.upjs.jpaz2.archetypes","versions":["1.1.1","1.1.0"],"description":"An archetype which contains a sample Java project with empty launcher and JPAZ2 as a dependency."},{"artifactId":"jpaz2-archetype-novice","groupId":"sk.upjs.jpaz2.archetypes","versions":["1.1.1","1.1.0"],"description":"An archetype which contains a sample Java project for JPAZ2 novices. The launcher instantiates a pane which animates moves and turnings."},{"artifactId":"jpaz2-archetype-quickstart","groupId":"sk.upjs.jpaz2.archetypes","versions":["1.1.1","1.1.0"],"description":"An archetype which contains a sample Java project with launcher. The launcher instantiates WinPane, SmartTurtle (extending Turtle), and ObjectInspector."},{"artifactId":"jpaz2-archetype-theater","groupId":"sk.upjs.jpaz2.archetypes","versions":["1.1.1","1.1.0"],"description":"An archetype which contains a sample Java project based on theater subpackage included in JPAZ2."},{"artifactId":"archetype-app-quickstart","groupId":"software.amazon.awssdk","versions":["2.20.17","2.20.16","2.20.15","2.20.14","2.20.13","2.20.12","2.20.11","2.20.10","2.20.9","2.20.8","2.20.7","2.20.6","2.20.5","2.20.4","2.20.3","2.20.2","2.20.1","2.20.0","2.19.33","2.19.32","2.19.31","2.19.30","2.19.29","2.19.28","2.19.27","2.19.26","2.19.25","2.19.24","2.19.23","2.19.22","2.19.21","2.19.20","2.19.19","2.19.18","2.19.17","2.19.16","2.19.15","2.19.14","2.19.13","2.19.12","2.19.11","2.19.10","2.19.9","2.19.8","2.19.7","2.19.6","2.19.5","2.19.4","2.19.3","2.19.2","2.19.1","2.19.0","2.18.41","2.18.40","2.18.39","2.18.38","2.18.37","2.18.36","2.18.35","2.18.34","2.18.33","2.18.32","2.18.31","2.18.30","2.18.29","2.18.28","2.18.27","2.18.26","2.18.25","2.18.24","2.18.23","2.18.22","2.18.21","2.18.20","2.18.19","2.18.18","2.18.17","2.18.16","2.18.15","2.18.14","2.18.13","2.18.12","2.18.11","2.18.10","2.18.9","2.18.8","2.18.7","2.18.6","2.18.5","2.18.4","2.18.3","2.18.2","2.18.1","2.18.0","2.17.295","2.17.294","2.17.293","2.17.292","2.17.291","2.17.290","2.17.289","2.17.288","2.17.287","2.17.286","2.17.285","2.17.284","2.17.283","2.17.282","2.17.281","2.17.280","2.17.279","2.17.278","2.17.277","2.17.276","2.17.275","2.17.274","2.17.273","2.17.272","2.17.271","2.17.270","2.17.269","2.17.268","2.17.267","2.17.266","2.17.265","2.17.264","2.17.263","2.17.262","2.17.261","2.17.260","2.17.259","2.17.258","2.17.257","2.17.256","2.17.255","2.17.254","2.17.253","2.17.252","2.17.251","2.17.250","2.17.249","2.17.248","2.17.247","2.17.246","2.17.245","2.17.244","2.17.243","2.17.242","2.17.241","2.17.240","2.17.239","2.17.238","2.17.237","2.17.236","2.17.235","2.17.234","2.17.233","2.17.232","2.17.231","2.17.230","2.17.229","2.17.228","2.17.227","2.17.226","2.17.225","2.17.224","2.17.223","2.17.222","2.17.221","2.17.220","2.17.219","2.17.218","2.17.217","2.17.216","2.17.215","2.17.214","2.17.213","2.17.212","2.17.211","2.17.210","2.17.209","2.17.208","2.17.207","2.17.206","2.17.205","2.17.204","2.17.203","2.17.202","2.17.201","2.17.200","2.17.199","2.17.198","2.17.197","2.17.196","2.17.195","2.17.194","2.17.193","2.17.192","2.17.191","2.17.190","2.17.189","2.17.188","2.17.187","2.17.186","2.17.185","2.17.184","2.17.183","2.17.182","2.17.181","2.17.180","2.17.179","2.17.178","2.17.177","2.17.176","2.17.175","2.17.174","2.17.173","2.17.172","2.17.171","2.17.170","2.17.169","2.17.168","2.17.167","2.17.166","2.17.165","2.17.164","2.17.163","2.17.162","2.17.161","2.17.160","2.17.159","2.17.158","2.17.157","2.17.156","2.17.155","2.17.154","2.17.153","2.17.152","2.17.151","2.17.150","2.17.149","2.17.148","2.17.147","2.17.146","2.17.145","2.17.144","2.17.143","2.17.142","2.17.141","2.17.140","2.17.139","2.17.138","2.17.137","2.17.136","2.17.135","2.17.134","2.17.133","2.17.132","2.17.131","2.17.130","2.17.129","2.17.128","2.17.127","2.17.126","2.17.125","2.17.124","2.17.123","2.17.122","2.17.121","2.17.120","2.17.119","2.17.118","2.17.117","2.17.116","2.17.115","2.17.114","2.17.113","2.17.112","2.17.111","2.17.110","2.17.109","2.17.108","2.17.107","2.17.106","2.17.105","2.17.104","2.17.103","2.17.102","2.17.101","2.17.100","2.17.99","2.17.98","2.17.97","2.17.96","2.17.95","2.17.94","2.17.93","2.17.92","2.17.91","2.17.90","2.17.89","2.17.88","2.17.87","2.17.86","2.17.85","2.17.84","2.17.83","2.17.82","2.17.81","2.17.80","2.17.79","2.17.78","2.17.77","2.17.76","2.17.75","2.17.74","2.17.73","2.17.72","2.17.71","2.17.70","2.17.69","2.17.68","2.17.67","2.17.66","2.17.65","2.17.64","2.17.63","2.17.62","2.17.61","2.17.60","2.17.59","2.17.58","2.17.57","2.17.56","2.17.55","2.17.54","2.17.53","2.17.52","2.17.51","2.17.50","2.17.49","2.17.48","2.17.47","2.17.46","2.17.45","2.17.44","2.17.43","2.17.42","2.17.41","2.17.40","2.17.39","2.17.38","2.17.37","2.17.36","2.17.35","2.17.34","2.17.33","2.17.32","2.17.31","2.17.30","2.17.29","2.17.28","2.17.27","2.17.26","2.17.25","2.17.24","2.17.23","2.17.22","2.17.21","2.17.20","2.17.19","2.17.18","2.17.17","2.17.16","2.17.15","2.17.14","2.17.13","2.17.12","2.17.11","2.17.10","2.17.9","2.17.8","2.17.7","2.17.6","2.17.5","2.17.4","2.17.3","2.17.2","2.17.1","2.17.0","2.16.104","2.16.103","2.16.102","2.16.101","2.16.100","2.16.99","2.16.98","2.16.97","2.16.96","2.16.95","2.16.94","2.16.93","2.16.92","2.16.91","2.16.90","2.16.89","2.16.88","2.16.87","2.16.86","2.16.85","2.16.84","2.16.83","2.16.82","2.16.81","2.16.80","2.16.79","2.16.78","2.16.77","2.16.76","2.16.75","2.16.74","2.16.73","2.16.72","2.16.71","2.16.70","2.16.69","2.16.68","2.16.67","2.16.66","2.16.65","2.16.64","2.16.63","2.16.62","2.16.61","2.16.60","2.16.59","2.16.58","2.16.57","2.16.56","2.16.55","2.16.54","2.16.53","2.16.52","2.16.51","2.16.50","2.16.49","2.16.48","2.16.47","2.16.46","2.16.45","2.16.44","2.16.43","2.16.42","2.16.41","2.16.40","2.16.39","2.16.38","2.16.37","2.16.36","2.16.35","2.16.34","2.16.33","2.16.32","2.16.31","2.16.30","2.16.29","2.16.28","2.16.27","2.16.26","2.16.25","2.16.24","2.16.23","2.16.22","2.16.21","2.16.20","2.16.19","2.16.18","2.16.17","2.16.16","2.16.15","2.16.14","2.16.13","2.16.12","2.16.11","2.16.10","2.16.9","2.16.8","2.16.7","2.16.6","2.16.5","2.16.4","2.16.3","2.16.2","2.16.1"],"description":"The AWS SDK for Java - Maven archetype for a sample application using AWS Java SDK 2.x"},{"artifactId":"archetype-lambda","groupId":"software.amazon.awssdk","versions":["2.20.17","2.20.16","2.20.15","2.20.14","2.20.13","2.20.12","2.20.11","2.20.10","2.20.9","2.20.8","2.20.7","2.20.6","2.20.5","2.20.4","2.20.3","2.20.2","2.20.1","2.20.0","2.19.33","2.19.32","2.19.31","2.19.30","2.19.29","2.19.28","2.19.27","2.19.26","2.19.25","2.19.24","2.19.23","2.19.22","2.19.21","2.19.20","2.19.19","2.19.18","2.19.17","2.19.16","2.19.15","2.19.14","2.19.13","2.19.12","2.19.11","2.19.10","2.19.9","2.19.8","2.19.7","2.19.6","2.19.5","2.19.4","2.19.3","2.19.2","2.19.1","2.19.0","2.18.41","2.18.40","2.18.39","2.18.38","2.18.37","2.18.36","2.18.35","2.18.34","2.18.33","2.18.32","2.18.31","2.18.30","2.18.29","2.18.28","2.18.27","2.18.26","2.18.25","2.18.24","2.18.23","2.18.22","2.18.21","2.18.20","2.18.19","2.18.18","2.18.17","2.18.16","2.18.15","2.18.14","2.18.13","2.18.12","2.18.11","2.18.10","2.18.9","2.18.8","2.18.7","2.18.6","2.18.5","2.18.4","2.18.3","2.18.2","2.18.1","2.18.0","2.17.295","2.17.294","2.17.293","2.17.292","2.17.291","2.17.290","2.17.289","2.17.288","2.17.287","2.17.286","2.17.285","2.17.284","2.17.283","2.17.282","2.17.281","2.17.280","2.17.279","2.17.278","2.17.277","2.17.276","2.17.275","2.17.274","2.17.273","2.17.272","2.17.271","2.17.270","2.17.269","2.17.268","2.17.267","2.17.266","2.17.265","2.17.264","2.17.263","2.17.262","2.17.261","2.17.260","2.17.259","2.17.258","2.17.257","2.17.256","2.17.255","2.17.254","2.17.253","2.17.252","2.17.251","2.17.250","2.17.249","2.17.248","2.17.247","2.17.246","2.17.245","2.17.244","2.17.243","2.17.242","2.17.241","2.17.240","2.17.239","2.17.238","2.17.237","2.17.236","2.17.235","2.17.234","2.17.233","2.17.232","2.17.231","2.17.230","2.17.229","2.17.228","2.17.227","2.17.226","2.17.225","2.17.224","2.17.223","2.17.222","2.17.221","2.17.220","2.17.219","2.17.218","2.17.217","2.17.216","2.17.215","2.17.214","2.17.213","2.17.212","2.17.211","2.17.210","2.17.209","2.17.208","2.17.207","2.17.206","2.17.205","2.17.204","2.17.203","2.17.202","2.17.201","2.17.200","2.17.199","2.17.198","2.17.197","2.17.196","2.17.195","2.17.194","2.17.193","2.17.192","2.17.191","2.17.190","2.17.189","2.17.188","2.17.187","2.17.186","2.17.185","2.17.184","2.17.183","2.17.182","2.17.181","2.17.180","2.17.179","2.17.178","2.17.177","2.17.176","2.17.175","2.17.174","2.17.173","2.17.172","2.17.171","2.17.170","2.17.169","2.17.168","2.17.167","2.17.166","2.17.165","2.17.164","2.17.163","2.17.162","2.17.161","2.17.160","2.17.159","2.17.158","2.17.157","2.17.156","2.17.155","2.17.154","2.17.153","2.17.152","2.17.151","2.17.150","2.17.149","2.17.148","2.17.147","2.17.146","2.17.145","2.17.144","2.17.143","2.17.142","2.17.141","2.17.140","2.17.139","2.17.138","2.17.137","2.17.136","2.17.135","2.17.134","2.17.133","2.17.132","2.17.131","2.17.130","2.17.129","2.17.128","2.17.127","2.17.126","2.17.125","2.17.124","2.17.123","2.17.122","2.17.121","2.17.120","2.17.119","2.17.118","2.17.117","2.17.116","2.17.115","2.17.114","2.17.113","2.17.112","2.17.111","2.17.110","2.17.109","2.17.108","2.17.107","2.17.106","2.17.105","2.17.104","2.17.103","2.17.102","2.17.101","2.17.100","2.17.99","2.17.98","2.17.97","2.17.96","2.17.95","2.17.94","2.17.93","2.17.92","2.17.91","2.17.90","2.17.89","2.17.88","2.17.87","2.17.86","2.17.85","2.17.84","2.17.83","2.17.82","2.17.81","2.17.80","2.17.79","2.17.78","2.17.77","2.17.76","2.17.75","2.17.74","2.17.73","2.17.72","2.17.71","2.17.70","2.17.69","2.17.68","2.17.67","2.17.66","2.17.65","2.17.64","2.17.63","2.17.62","2.17.61","2.17.60","2.17.59","2.17.58","2.17.57","2.17.56","2.17.55","2.17.54","2.17.53","2.17.52","2.17.51","2.17.50","2.17.49","2.17.48","2.17.47","2.17.46","2.17.45","2.17.44","2.17.43","2.17.42","2.17.41","2.17.40","2.17.39","2.17.38","2.17.37","2.17.36","2.17.35","2.17.34","2.17.33","2.17.32","2.17.31","2.17.30","2.17.29","2.17.28","2.17.27","2.17.26","2.17.25","2.17.24","2.17.23","2.17.22","2.17.21","2.17.20","2.17.19","2.17.18","2.17.17","2.17.16","2.17.15","2.17.14","2.17.13","2.17.12","2.17.11","2.17.10","2.17.9","2.17.8","2.17.7","2.17.6","2.17.5","2.17.4","2.17.3","2.17.2","2.17.1","2.17.0","2.16.104","2.16.103","2.16.102","2.16.101","2.16.100","2.16.99","2.16.98","2.16.97","2.16.96","2.16.95","2.16.94","2.16.93","2.16.92","2.16.91","2.16.90","2.16.89","2.16.88","2.16.87","2.16.86","2.16.85","2.16.84","2.16.83","2.16.82","2.16.81","2.16.80","2.16.79","2.16.78","2.16.77","2.16.76","2.16.75","2.16.74","2.16.73","2.16.72","2.16.71","2.16.70","2.16.69","2.16.68","2.16.67","2.16.66","2.16.65","2.16.64","2.16.63","2.16.62","2.16.61","2.16.60","2.16.59","2.16.58","2.16.57","2.16.56","2.16.55","2.16.54","2.16.53","2.16.52","2.16.51","2.16.50","2.16.49","2.16.48","2.16.47","2.16.46","2.16.45","2.16.44","2.16.43","2.16.42","2.16.41","2.16.40","2.16.39","2.16.38","2.16.37","2.16.36","2.16.35","2.16.34","2.16.33","2.16.32","2.16.31","2.16.30","2.16.29","2.16.28","2.16.27","2.16.26","2.16.25","2.16.24","2.16.23","2.16.22","2.16.21","2.16.20","2.16.19","2.16.18","2.16.17","2.16.16","2.16.15","2.16.14","2.16.13","2.16.12","2.16.11","2.16.10","2.16.9","2.16.8","2.16.7","2.16.6","2.16.5","2.16.4","2.16.3","2.16.2","2.16.1","2.16.0","2.15.82","2.15.81","2.15.80","2.15.79","2.15.78","2.15.77","2.15.76","2.15.75","2.15.74","2.15.73","2.15.72","2.15.71","2.15.70","2.15.69","2.15.68","2.15.67","2.15.66","2.15.65","2.15.64","2.15.63","2.15.62","2.15.61","2.15.60","2.15.59","2.15.58","2.15.57","2.15.56","2.15.55","2.15.54","2.15.53","2.15.52","2.15.51","2.15.50","2.15.49","2.15.48","2.15.47","2.15.46","2.15.45","2.15.44","2.15.43","2.15.42","2.15.41","2.15.40","2.15.39","2.15.38","2.15.37","2.15.36","2.15.35","2.15.34","2.15.33","2.15.32","2.15.31","2.15.30","2.15.29","2.15.28","2.15.27","2.15.26","2.15.25","2.15.24","2.15.23","2.15.22","2.15.21","2.15.20","2.15.19","2.15.18","2.15.17","2.15.16","2.15.15","2.15.14","2.15.13","2.15.12","2.15.11","2.15.10","2.15.9","2.15.8","2.15.7","2.15.6","2.15.5","2.15.4","2.15.3","2.15.2","2.15.1","2.15.0","2.14.28","2.14.27","2.14.26","2.14.25","2.14.24","2.14.23","2.14.22","2.14.21","2.14.20","2.14.19","2.14.18","2.14.17","2.14.16","2.14.15","2.14.14","2.14.13","2.14.12","2.14.11","2.14.10","2.14.9","2.14.8","2.14.7","2.14.6","2.14.5","2.14.4","2.14.3","2.14.2","2.14.1","2.14.0","2.13.76","2.13.75","2.13.74","2.13.73","2.13.72","2.13.71","2.13.70","2.13.69","2.13.68","2.13.67","2.13.66","2.13.65","2.13.64","2.13.63","2.13.62","2.13.61","2.13.60","2.13.59","2.13.58","2.13.57","2.13.56","2.13.55","2.13.54","2.13.53","2.13.52","2.13.51","2.13.50","2.13.49","2.13.48","2.13.47","2.13.46","2.13.45","2.13.44","2.13.43","2.13.42","2.13.41","2.13.40","2.13.39","2.13.38","2.13.37","2.13.36","2.13.35","2.13.34","2.13.33","2.13.32","2.13.31","2.13.30","2.13.29","2.13.28","2.13.27","2.13.26","2.13.25","2.13.24","2.13.23","2.13.22","2.13.21","2.13.20","2.13.19","2.13.18","2.13.17","2.13.16","2.13.15","2.13.14","2.13.13","2.13.12","2.13.11","2.13.10","2.13.9","2.13.8","2.13.7","2.13.6","2.13.5","2.13.4","2.13.3","2.13.2","2.13.1","2.13.0","2.12.0","2.11.14","2.11.13","2.11.12","2.11.11","2.11.10","2.11.9","2.11.8","2.11.7","2.11.6","2.11.5","2.11.4"],"description":"The AWS SDK for Java - Maven archetype for Java lambda function using AWS Java SDK 2.x"},{"artifactId":"camel3-archetype-spring-boot","groupId":"software.tnb","versions":["0.1.8","0.1.6","0.1.5","0.1.4"],"description":"Creates a new Camel project using Spring Boot."},{"artifactId":"taotao-docbook-archetype","groupId":"store.taotao.docbook.archetypes","versions":["1.0.1-RELEASE","1.0.0-RELEASE"],"description":"taotao-docbok 文档工程原型"},{"artifactId":"archetype","groupId":"systems.manifold","versions":["0.5-alpha-test-3","0.5-alpha-test-2","0.5-alpha-test-1"],"description":"Archetype to demonstrate the structure of a basic project using Manifold."},{"artifactId":"cassandre-trading-bot-spring-boot-starter-archetype","groupId":"tech.cassandre.trading.bot","versions":["2.0.2","2.0.1","2.0.0","1.0.0","0.0.13","0.0.12","0.0.11","0.0.10","0.0.9","0.0.6","0.0.5","0.0.3","0.0.2","0.0.1"]},{"artifactId":"cassandre-trading-bot-spring-boot-starter-basic-archetype","groupId":"tech.cassandre.trading.bot","versions":["6.0.0","5.0.8","5.0.7","5.0.6","5.0.5","5.0.4","5.0.3","5.0.2","5.0.1","5.0.0","4.3.0","4.2.1","4.2.0","4.1.1","4.1.0","4.0.1","4.0.0","3.0.0","2.3.0","2.2.0","2.1.1","2.1.0"]},{"artifactId":"cassandre-trading-bot-spring-boot-starter-basic-ta4j-archetype","groupId":"tech.cassandre.trading.bot","versions":["5.0.8","5.0.7","5.0.6","5.0.5","5.0.4","5.0.3","5.0.2","5.0.1","5.0.0","4.3.0","4.2.1","4.2.0","4.1.1","4.1.0","4.0.1","4.0.0","3.0.0","2.3.0","2.2.0","2.1.1","2.1.0","2.0.2","2.0.1","2.0.0"]},{"artifactId":"ibit-springboot-web-starter-archetype","groupId":"tech.ibit","versions":["2.2","2.1","2.0","1.3","1.2","1.1","1.0"],"description":"ibit-springboot-web-starter-archetype"},{"artifactId":"iooo-spring-mvc-quickstart-archetype","groupId":"tech.iooo.maven.archetypes","versions":["0.0.3.RELEASE","0.0.2.RELEASE","0.0.1.RELEASE"],"description":"iooo spring mvc quickstart archetype"},{"artifactId":"java11-archetype","groupId":"tech.raaf","versions":["1.0.0"],"description":"An example Maven project using Java 11 and JUnit 5.x"},{"artifactId":"java8-archetype","groupId":"tech.raaf","versions":["1.0.0"],"description":"An example Maven project using Java 8 and JUnit 5.x"},{"artifactId":"mule3-archetype","groupId":"tech.raaf","versions":["1.0.0"],"description":"An example Maven project using Mule 3.x and MUnit 1.x"},{"artifactId":"mule4-archetype","groupId":"tech.raaf","versions":["1.0.0"],"description":"An example Maven project using Mule 4.x and MUnit 2.x"},{"artifactId":"venus-utility","groupId":"tech.zccc","versions":["0.2","0.1"],"description":"A development tools base on JAVA"},{"artifactId":"clojure-maven-archetype","groupId":"tk.skuro","versions":["1.3","1.2","1.1","1.0"],"description":"A simple Maven archetype for Clojure"},{"artifactId":"ram-webapp-with-mybatis-archetype","groupId":"top.beanshell","versions":["1.1.0","1.0.6","1.0.5","1.0.4","1.0.2","1.0.1","1.0.0"],"description":"Archetype for Ram project with mybatis."},{"artifactId":"btx-classic-service-archetype","groupId":"top.cheesetree.btx.project.archetype","versions":["1.2.0"]},{"artifactId":"btx-classic-web-archetype","groupId":"top.cheesetree.btx.project.archetype","versions":["1.2.0"]},{"artifactId":"framework-archetype","groupId":"top.lshaci","versions":["1.1.0","1.0.7","1.0.6","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0","0.0.3"],"description":"top lshaci framework maven archetype"},{"artifactId":"sie-xf-prio-dep-import-generic","groupId":"top.marchand.archetype","versions":["1.0.0-RC2","1.0.0-RC1"],"description":"[ELS] Modèle de projet d'import Flash basé sur l'importeur générique"},{"artifactId":"eightroes-plugin-archetype","groupId":"top.ssrsdev","versions":["1.0.5","1.0.4","1.0.3","1.0.2"],"description":"eightroes-webapp-archetype"},{"artifactId":"eightroes-webapp-archetype","groupId":"top.ssrsdev","versions":["1.0.5","1.0.4","1.0.3","1.0.2"],"description":"eightroes-webapp-archetype"},{"artifactId":"kite-archetype","groupId":"tr.com.lucidcode","versions":["1.0.14","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7"],"description":"A Maven Archetype that allows users to create a Fresh Kite project"},{"artifactId":"obss-archetype-java","groupId":"tr.com.obss.sdlc.archetype","versions":["3.0.0"],"description":"This archetype provides a common skelton for the Java packages."},{"artifactId":"obss-archetype-webapp","groupId":"tr.com.obss.sdlc.archetype","versions":["3.1.0"],"description":"This archetype provides a skelton for the Java Web Application packages."},{"artifactId":"single-project-with-junit-and-slf4j","groupId":"ua.co.gravy.archetype","versions":["1.0.1"],"description":"Create a single project with jUnit, Mockito and slf4j dependencies."},{"artifactId":"atlas-archetype","groupId":"uk.ac.ebi.gxa","versions":["2.0-rc2","2.0-rc1"],"description":"Archetype for generating a custom Atlas webapp"},{"artifactId":"gate-plugin-archetype","groupId":"uk.ac.gate","versions":["9.0.1","9.0","8.6.1","8.6","8.5.1","8.5","8.5-alpha1"],"description":"Maven archetype to create a new GATE plugin project."},{"artifactId":"gate-pr-archetype","groupId":"uk.ac.gate","versions":["9.0.1","9.0","8.6.1","8.6","8.5.1","8.5"],"description":"Maven archetype to create a new GATE plugin project including a sample PR class (an empty LanguageAnalyser)."},{"artifactId":"argo-analysis-engine-archetype","groupId":"uk.ac.nactem.argo","versions":["1.2","1.1","1.0"],"description":"An archetype which contains a sample Argo (UIMA) Analysis Engine"},{"artifactId":"argo-reader-archetype","groupId":"uk.ac.nactem.argo","versions":["1.2","1.1"],"description":"An archetype which contains a sample Argo (UIMA) Reader"},{"artifactId":"edal-ncwms-based-webapp","groupId":"uk.ac.rdg.resc","versions":["0.8.0","0.7.3","0.7.2","0.7.1","0.7","0.6.3","0.6.2","0.6.1","0.6","0.5","0.2"]},{"artifactId":"java11-junit5","groupId":"uk.co.markg.archetypes","versions":["1.0"],"description":"An archetype for generate java 11 projects with junit 5."},{"artifactId":"basic-javaee7-archetype","groupId":"uk.co.nemstix","versions":["1.0"],"description":"A basic Java EE7 Maven archetype"},{"artifactId":"angular-spring-archetype","groupId":"uk.co.solong","versions":["0.0.6"],"description":"So Long archetype for RESTful spring services with an AngularJS frontend. Includes debian deployment"},{"artifactId":"schemacrawler-archetype-maven-project","groupId":"us.fatehi","versions":["15.06.01","15.05.01","15.04.01","15.03.04","15.03.03","15.03.02","15.03.01","15.02.02","15.02.01","15.01.06","15.01.05","15.01.04","15.01.03","15.01.02","15.01.01","14.21.02","14.21.01","14.20.06","14.20.05","14.20.04","14.20.03","14.20.02","14.20.01","14.19.01","14.18.01","14.17.05","14.17.04","14.17.03","14.17.02","14.17.01","14.16.04","14.16.03","14.16.02","14.16.01","14.15.04","14.15.03","14.15.02","14.15.01","14.14.04","14.14.03","14.14.02","14.14.01","14.12.01","14.11.02","14.11.01","14.10.06","14.10.05","14.10.04","14.10.03","14.10.02","14.10.01","14.09.03","14.09.02","14.09.01","14.08.06","14.08.05","14.08.04","14.08.03","14.08.02","14.08.01","14.07.08","14.07.07","14.07.06","14.07.05","14.07.04","14.07.03","14.07.02","14.07.01","14.06.05","14.06.04","14.06.03","14.06.02","14.06.01","14.05.05","14.05.04","14.05.03","14.05.02","14.05.01","14.04.04","14.04.03","14.04.02","14.04.01","14.03.03","14.03.02","14.03.01","14.02.02","14.02.01","14.01.02","14.01.01","12.06.03","12.06.02","12.06.01","12.05.02","12.05.01","12.04.02","12.04.01","12.03.02","12.03.01","12.02.03","12.02.02","12.02.01","12.01.01","11.02.01"]},{"artifactId":"schemacrawler-archetype-plugin-command","groupId":"us.fatehi","versions":["15.06.01","15.05.01","15.04.01","15.03.04","15.03.03","15.03.02","15.03.01","15.02.02","15.02.01","15.01.06","15.01.05","15.01.04","15.01.03","15.01.02","15.01.01","14.21.02","14.21.01","14.20.06","14.20.05","14.20.04","14.20.03","14.20.02","14.20.01","14.19.01","14.18.01","14.17.05","14.17.04","14.17.03","14.17.02","14.17.01","14.16.04","14.16.03","14.16.02","14.16.01","14.15.04","14.15.03","14.15.02","14.15.01","14.14.04","14.14.03","14.14.02","14.14.01","14.12.01","14.11.02","14.11.01","14.10.06","14.10.05","14.10.04","14.10.03","14.10.02","14.10.01","14.09.03","14.09.02","14.09.01","14.08.06","14.08.05","14.08.04","14.08.03","14.08.02","14.08.01","14.07.08","14.07.07","14.07.06","14.07.05","14.07.04","14.07.03","14.07.02","14.07.01","14.06.05","14.06.04","14.06.03","14.06.02","14.06.01","14.05.05","14.05.04","14.05.03","14.05.02","14.05.01","14.04.04","14.04.03","14.04.02","14.04.01","14.03.03","14.03.02","14.03.01","14.02.02","14.02.01","14.01.02","14.01.01","12.06.03","12.06.02","12.06.01","12.05.02","12.05.01","12.04.02","12.04.01","12.03.02","12.03.01","12.02.03","12.02.02","12.02.01","12.01.01","11.02.01"]},{"artifactId":"schemacrawler-archetype-plugin-dbconnector","groupId":"us.fatehi","versions":["15.06.01","15.05.01","15.04.01","15.03.04","15.03.03","15.03.02","15.03.01","15.02.02","15.02.01","15.01.06","15.01.05","15.01.04","15.01.03","15.01.02","15.01.01","14.21.02","14.21.01","14.20.06","14.20.05","14.20.04","14.20.03","14.20.02","14.20.01","14.19.01","14.18.01","14.17.05","14.17.04","14.17.03","14.17.02","14.17.01","14.16.04","14.16.03","14.16.02","14.16.01","14.15.04","14.15.03","14.15.02","14.15.01","14.14.04","14.14.03","14.14.02","14.14.01","14.12.01","14.11.02","14.11.01","14.10.06","14.10.05","14.10.04","14.10.03","14.10.02","14.10.01","14.09.03","14.09.02","14.09.01","14.08.06","14.08.05","14.08.04","14.08.03","14.08.02","14.08.01","14.07.08","14.07.07","14.07.06","14.07.05","14.07.04","14.07.03","14.07.02","14.07.01","14.06.05","14.06.04","14.06.03","14.06.02","14.06.01","14.05.05","14.05.04","14.05.03","14.05.02","14.05.01","14.04.04","14.04.03","14.04.02","14.04.01","14.03.03","14.03.02","14.03.01","14.02.02","14.02.01","14.01.02","14.01.01","12.06.03","12.06.02","12.06.01","12.05.02","12.05.01","12.04.02","12.04.01","12.03.02","12.03.01","12.02.03","12.02.02","12.02.01","12.01.01"]},{"artifactId":"schemacrawler-archetype-plugin-lint","groupId":"us.fatehi","versions":["15.06.01","15.05.01","15.04.01","15.03.04","15.03.03","15.03.02","15.03.01","15.02.02","15.02.01","15.01.06","15.01.05","15.01.04","15.01.03","15.01.02","15.01.01","14.21.02","14.21.01","14.20.06","14.20.05","14.20.04","14.20.03","14.20.02","14.20.01","14.19.01","14.18.01","14.17.05","14.17.04","14.17.03","14.17.02","14.17.01","14.16.04","14.16.03","14.16.02","14.16.01","14.15.04","14.15.03","14.15.02","14.15.01","14.14.04","14.14.03","14.14.02","14.14.01","14.12.01","14.11.02","14.11.01","14.10.06","14.10.05","14.10.04","14.10.03","14.10.02","14.10.01","14.09.03","14.09.02","14.09.01","14.08.06","14.08.05","14.08.04","14.08.03","14.08.02","14.08.01","14.07.08","14.07.07","14.07.06","14.07.05","14.07.04","14.07.03","14.07.02","14.07.01","14.06.05","14.06.04","14.06.03","14.06.02","14.06.01","14.05.05","14.05.04","14.05.03","14.05.02","14.05.01","14.04.04","14.04.03","14.04.02","14.04.01","14.03.03","14.03.02","14.03.01","14.02.02","14.02.01","14.01.02","14.01.01","12.06.03","12.06.02","12.06.01","12.05.02","12.05.01","12.04.02","12.04.01","12.03.02","12.03.01","12.02.03","12.02.02","12.02.01","12.01.01","11.02.01"]},{"artifactId":"osiris-archetype","groupId":"ws.osiris","versions":["1.6.0","1.5.3","1.5.2","1.5.1","1.5.0","1.4.0","1.3.0","1.2.0","1.1.0","1.0.0","0.16.1","0.16.0","0.15.0","0.14.0","0.13.1","0.13.0","0.12.0","0.11.1","0.11.0","0.10.3","0.10.2","0.10.1","0.10.0","0.9.1","0.9.0"],"description":"Maven Archetype for Osiris"},{"artifactId":"xyz-gae-generator","groupId":"xyz.luan.generator","versions":["0.3.0","0.2.0","0.1.0"]},{"artifactId":"xyz-generator","groupId":"xyz.luan.generator","versions":["0.3.0","0.2.0","0.1.0"]},{"artifactId":"component-archetype","groupId":"za.co.absa.hyperdrive","versions":["4.1.0","4.0.0","3.3.0","3.2.2","3.1.0","3.0.0","2.0.0","1.0.0"]},{"artifactId":"component-archetype_2.11","groupId":"za.co.absa.hyperdrive","versions":["4.7.0","4.6.0","4.5.2","4.5.1","4.5.0","4.4.1","4.4.0","4.3.0","4.2.2","4.2.1"]},{"artifactId":"component-archetype_2.12","groupId":"za.co.absa.hyperdrive","versions":["4.7.0","4.6.0","4.5.2","4.5.1","4.4.1","4.4.0","4.3.0","4.2.2","4.2.1"]}] ================================================ FILE: resources/maven-4.0.0.xsd.json ================================================ { "project": { "$type": "Model", "$documentation": { "version": "3.0.0+", "description": " The <project> element is the root of the descriptor. The following table lists all of the possible child elements. " }, "modelVersion": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "Declares to which version of project descriptor this POM conforms." } }, "parent": { "$type": "Parent", "$documentation": { "version": "4.0.0+", "description": "The location of the parent project, if one exists. Values from the parent project will be the default for this project if they are left unspecified. The location is given as a group ID, artifact ID and version." }, "groupId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The group id of the parent project to inherit from." } }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The artifact id of the parent project to inherit from." } }, "version": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The version of the parent project to inherit." } }, "relativePath": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The relative path of the parent pom.xml file within the check out. If not specified, it defaults to ../pom.xml. Maven looks for the parent POM first in this location on the filesystem, then the local repository, and lastly in the remote repo. relativePath allows you to select a different location, for example when your structure is flat, or deeper without an intermediate parent POM. However, the group ID, artifact ID and version are still required, and must match the file in the location given or it will revert to the repository for the POM. This feature is only for enhancing the development in a local checkout of that project. Set the value to an empty string in case you want to disable the feature and always resolve the parent POM from the repositories. " } } }, "groupId": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " A universally unique identifier for a project. It is normal to use a fully-qualified package name to distinguish it from other projects with a similar name (eg. org.apache.maven). " } }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "The identifier for this artifact that is unique within the group given by the group ID. An artifact is something that is either produced or used by a project. Examples of artifacts produced by Maven for a project include: JARs, source and binary distributions, and WARs." } }, "version": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The current version of the artifact produced by this project." } }, "packaging": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The type of artifact this project produces, for example jar war ear pom. Plugins can create their own packaging, and therefore their own packaging types, so this list does not contain all possible types. " }, "$default": "jar" }, "name": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "The full name of the project." } }, "description": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "A detailed description of the project, used by Maven whenever it needs to describe the project, such as on the web site. While this element can be specified as CDATA to enable the use of HTML tags within the description, it is discouraged to allow plain text representation. If you need to modify the index page of the generated web site, you are able to specify your own instead of adjusting this text." } }, "url": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The URL to the project's homepage.
Default value is: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if project's child.project.url.inherit.append.path=\"false\" " } }, "inceptionYear": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "The year of the project's inception, specified with 4 digits. This value is used when generating copyright notices as well as being informational." } }, "organization": { "$type": "Organization", "$documentation": { "version": "3.0.0+", "description": "This element describes various attributes of the organization to which the project belongs. These attributes are utilized when documentation is created (for copyright notices and links)." }, "name": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "The full name of the organization." } }, "url": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "The URL to the organization's home page." } } }, "licenses": { "$type": "complexType", "$documentation": { "version": "3.0.0+", "description": " This element describes all of the licenses for this project. Each license is described by a license element, which is then described by additional elements. Projects should only list the license(s) that applies to the project and not the licenses that apply to dependencies. If multiple licenses are listed, it is assumed that the user can select any of them, not that they must accept all. " }, "license": { "$type": "License", "$documentation": { "version": "3.0.0+", "description": " This element describes all of the licenses for this project. Each license is described by a license element, which is then described by additional elements. Projects should only list the license(s) that applies to the project and not the licenses that apply to dependencies. If multiple licenses are listed, it is assumed that the user can select any of them, not that they must accept all. " }, "name": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "The full legal name of the license." } }, "url": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "The official url for the license text." } }, "distribution": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The primary method by which this project may be distributed.
repo
may be downloaded from the Maven repository
manual
user must manually download and install the dependency.
" } }, "comments": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "Addendum information pertaining to this license." } } } }, "developers": { "$type": "complexType", "$documentation": { "version": "3.0.0+", "description": "Describes the committers of a project." }, "developer": { "$type": "Developer", "$documentation": { "version": "3.0.0+", "description": "Information about one of the committers on this project." }, "id": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "The unique ID of the developer in the SCM." } }, "name": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "The full name of the contributor." } }, "email": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "The email address of the contributor." } }, "url": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "The URL for the homepage of the contributor." } }, "organization": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "The organization to which the contributor belongs." } }, "organizationUrl": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "The URL of the organization." } }, "roles": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The roles the contributor plays in the project. Each role is described by a role element, the body of which is a role name. This can also be used to describe the contribution. " } }, "timezone": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The timezone the contributor is in. Typically, this is a number in the range -12 to +14 or a valid time zone id like \"America/Montreal\" (UTC-05:00) or \"Europe/Paris\" (UTC+01:00). " } }, "properties": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "Properties about the contributor, such as an instant messenger handle." } } } }, "contributors": { "$type": "complexType", "$documentation": { "version": "3.0.0+", "description": "Describes the contributors to a project that are not yet committers." }, "contributor": { "$type": "Contributor", "$documentation": { "version": "3.0.0+", "description": "Description of a person who has contributed to the project, but who does not have commit privileges. Usually, these contributions come in the form of patches submitted." }, "name": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "The full name of the contributor." } }, "email": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "The email address of the contributor." } }, "url": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "The URL for the homepage of the contributor." } }, "organization": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "The organization to which the contributor belongs." } }, "organizationUrl": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "The URL of the organization." } }, "roles": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The roles the contributor plays in the project. Each role is described by a role element, the body of which is a role name. This can also be used to describe the contribution. " } }, "timezone": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The timezone the contributor is in. Typically, this is a number in the range -12 to +14 or a valid time zone id like \"America/Montreal\" (UTC-05:00) or \"Europe/Paris\" (UTC+01:00). " } }, "properties": { "$type": "complexType", "$documentation": { "version": "3.0.0+", "description": "Properties about the contributor, such as an instant messenger handle." } } } }, "mailingLists": { "$type": "complexType", "$documentation": { "version": "3.0.0+", "description": "Contains information about a project's mailing lists." }, "mailingList": { "$type": "MailingList", "$documentation": { "version": "3.0.0+", "description": "This element describes all of the mailing lists associated with a project. The auto-generated site references this information." }, "name": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The name of the mailing list. " } }, "subscribe": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The email address or link that can be used to subscribe to the mailing list. If this is an email address, a mailto: link will automatically be created when the documentation is created. " } }, "unsubscribe": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The email address or link that can be used to unsubscribe to the mailing list. If this is an email address, a mailto: link will automatically be created when the documentation is created. " } }, "post": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The email address or link that can be used to post to the mailing list. If this is an email address, a mailto: link will automatically be created when the documentation is created. " } }, "archive": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "The link to a URL where you can browse the mailing list archive." } }, "otherArchives": { "$type": "complexType", "$documentation": { "version": "3.0.0+", "description": "The link to alternate URLs where you can browse the list archive." }, "otherArchive": { "$type": "xs:string", "$documentation": {} } } } }, "prerequisites": { "$type": "Prerequisites", "$documentation": { "version": "4.0.0+", "description": "Describes the prerequisites in the build environment for this project." }, "maven": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " For a plugin project (packaging is maven-plugin), the minimum version of Maven required to use the resulting plugin.
" }, "$default": "2.0" } }, "modules": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "The modules (sometimes called subprojects) to build as a part of this project. Each module listed is a relative path to the directory containing the module. To be consistent with the way default urls are calculated from parent, it is recommended to have module names match artifact ids." }, "module": { "$type": "xs:string", "$documentation": {} } }, "scm": { "$type": "Scm", "$documentation": { "version": "4.0.0+", "description": "Specification for the SCM used by the project, such as CVS, Subversion, etc." }, "maven": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " For a plugin project (packaging is maven-plugin), the minimum version of Maven required to use the resulting plugin.
" }, "$default": "2.0" }, "connection": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The source control management system URL that describes the repository and how to connect to the repository. For more information, see the URL format and list of supported SCMs. This connection is read-only.
Default value is: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if scm's child.scm.connection.inherit.append.path=\"false\"" } }, "developerConnection": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Just like connection, but for developers, i.e. this scm connection will not be read only.
Default value is: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if scm's child.scm.developerConnection.inherit.append.path=\"false\" " } }, "tag": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The tag of current code. By default, it's set to HEAD during development." }, "$default": "HEAD" }, "url": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The URL to the project's browsable SCM repository, such as ViewVC or Fisheye.
Default value is: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if scm's child.scm.url.inherit.append.path=\"false\" " } }, "childScmConnectionInheritAppendPath": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " When children inherit from scm connection, append path or not? Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean
Default value is: true
Since: Maven 3.6.1 " } }, "childScmDeveloperConnectionInheritAppendPath": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " When children inherit from scm developer connection, append path or not? Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean
Default value is: true
Since: Maven 3.6.1 " } }, "childScmUrlInheritAppendPath": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " When children inherit from scm url, append path or not? Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean
Default value is: true
Since: Maven 3.6.1 " } } }, "issueManagement": { "$type": "IssueManagement", "$documentation": { "version": "4.0.0+", "description": "The project's issue management system information." }, "system": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The name of the issue management system, e.g. Bugzilla" } }, "url": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "URL for the issue management system used by the project." } } }, "ciManagement": { "$type": "CiManagement", "$documentation": { "version": "4.0.0+", "description": "The project's continuous integration information." }, "system": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The name of the continuous integration system, e.g. continuum. " } }, "url": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "URL for the continuous integration system used by the project if it has a web interface." } }, "notifiers": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "Configuration for notifying developers/users when a build is unsuccessful, including user information and notification mode." }, "notifier": { "$type": "Notifier", "$documentation": { "version": "4.0.0+", "description": "Configures one method for notifying users/developers when a build breaks." }, "type": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The mechanism used to deliver notifications." }, "$default": "mail" }, "sendOnError": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "Whether to send notifications on error." }, "$default": "true" }, "sendOnFailure": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "Whether to send notifications on failure." }, "$default": "true" }, "sendOnSuccess": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "Whether to send notifications on success." }, "$default": "true" }, "sendOnWarning": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "Whether to send notifications on warning." }, "$default": "true" }, "address": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Deprecated. Where to send the notification to - eg email address. " } }, "configuration": { "$type": "complexType", "$documentation": { "version": "0.0.0+", "description": "Extended configuration specific to this notifier goes here." } } } } }, "distributionManagement": { "$type": "DistributionManagement", "$documentation": { "version": "4.0.0+", "description": "Distribution information for a project that enables deployment of the site and artifacts to remote web servers and repositories respectively." }, "repository": { "$type": "DeploymentRepository", "$documentation": { "version": "4.0.0+", "description": "Information needed to deploy the artifacts generated by the project to a remote repository." } }, "snapshotRepository": { "$type": "DeploymentRepository", "$documentation": { "version": "4.0.0+", "description": " Where to deploy snapshots of artifacts to. If not given, it defaults to the repository element." } }, "site": { "$type": "Site", "$documentation": { "version": "4.0.0+", "description": "Information needed for deploying the web site of the project." }, "id": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " A unique identifier for a deployment location. This is used to match the site to configuration in the settings.xml file, for example." } }, "name": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "Human readable name of the deployment location." } }, "url": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The url of the location where website is deployed, in the form protocol://hostname/path.
Default value is: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if site's child.site.url.inherit.append.path=\"false\" " } } }, "downloadUrl": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The URL of the project's download page. If not given users will be referred to the homepage given by url. This is given to assist in locating artifacts that are not in the repository due to licensing restrictions. " } }, "relocation": { "$type": "Relocation", "$documentation": { "version": "4.0.0+", "description": "Relocation information of the artifact if it has been moved to a new group ID and/or artifact ID." }, "groupId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The group ID the artifact has moved to." } }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The new artifact ID of the artifact." } }, "version": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The new version of the artifact." } }, "message": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "An additional message to show the user about the move, such as the reason." } } }, "status": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Gives the status of this artifact in the remote repository. This must not be set in your local project, as it is updated by tools placing it in the reposiory. Valid values are: none (default), converted (repository manager converted this from an Maven 1 POM), partner (directly synced from a partner Maven 2 repository), deployed (was deployed from a Maven 2 instance), verified (has been hand verified as correct and final). " } } }, "properties": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": " Properties that can be used throughout the POM as a substitution, and are used as filters in resources if enabled. The format is <name>value</name>. " } }, "dependencyManagement": { "$type": "DependencyManagement", "$documentation": { "version": "4.0.0+", "description": "Default dependency information for projects that inherit from this one. The dependencies in this section are not immediately resolved. Instead, when a POM derived from this one declares a dependency described by a matching groupId and artifactId, the version and other values from this section are used for that dependency if they were not already specified." }, "dependencies": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "The dependencies specified here are not used until they are referenced in a POM within the group. This allows the specification of a \"standard\" version for a particular dependency." }, "dependency": { "$type": "Dependency", "$documentation": { "version": "3.0.0+", "description": " The <dependency> element contains information about a dependency of the project. " }, "groupId": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The project group that produced the dependency, e.g. org.apache.maven. " } }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The unique id for an artifact produced by the project group, e.g. maven-artifact. " } }, "version": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The version of the dependency, e.g. 3.2.1. In Maven 2, this can also be specified as a range of versions. " } }, "type": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The type of dependency, that will be mapped to a file extension, an optional classifier, and a few other attributes. Some examples are jar, war, ejb-client and test-jar: see default artifact handlers for a list. New types can be defined by extensions, so this is not a complete list. " } }, "classifier": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The classifier of the dependency. It is appended to the filename after the version. This allows:
  • referring to attached artifact, for example sources and javadoc: see default artifact handlers for a list,
  • distinguishing two artifacts that belong to the same POM but were built differently. For example, jdk14 and jdk15.
" } }, "scope": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The scope of the dependency - compile, runtime, test, system, and provided. Used to calculate the various classpaths used for compilation, testing, and so on. It also assists in determining which artifacts to include in a distribution of this project. For more information, see the dependency mechanism. The default scope is compile. " } }, "systemPath": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " FOR SYSTEM SCOPE ONLY. Note that use of this property is discouraged and may be replaced in later versions. This specifies the path on the filesystem for this dependency. Requires an absolute path for the value, not relative. Use a property that gives the machine specific absolute path, e.g. ${java.home}. " } }, "exclusions": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "Lists a set of artifacts that should be excluded from this dependency's artifact list when it comes to calculating transitive dependencies." }, "exclusion": { "$type": "Exclusion", "$documentation": { "version": "4.0.0+", "description": " The <exclusion> element contains informations required to exclude an artifact to the project. " }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The artifact ID of the project to exclude." } }, "groupId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The group ID of the project to exclude." } } } }, "optional": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Indicates the dependency is optional for use of this library. While the version of the dependency will be taken into account for dependency calculation if the library is used elsewhere, it will not be passed on transitively. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. " } } } } }, "dependencies": { "$type": "complexType", "$documentation": { "version": "3.0.0+", "description": " This element describes all of the dependencies associated with a project. These dependencies are used to construct a classpath for your project during the build process. They are automatically downloaded from the repositories defined in this project. See the dependency mechanism for more information. " }, "dependency": { "$type": "Dependency", "$documentation": { "version": "3.0.0+", "description": " The <dependency> element contains information about a dependency of the project. " }, "groupId": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The project group that produced the dependency, e.g. org.apache.maven. " } }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The unique id for an artifact produced by the project group, e.g. maven-artifact. " } }, "version": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The version of the dependency, e.g. 3.2.1. In Maven 2, this can also be specified as a range of versions. " } }, "type": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The type of dependency, that will be mapped to a file extension, an optional classifier, and a few other attributes. Some examples are jar, war, ejb-client and test-jar: see default artifact handlers for a list. New types can be defined by extensions, so this is not a complete list. " } }, "classifier": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The classifier of the dependency. It is appended to the filename after the version. This allows:
  • referring to attached artifact, for example sources and javadoc: see default artifact handlers for a list,
  • distinguishing two artifacts that belong to the same POM but were built differently. For example, jdk14 and jdk15.
" } }, "scope": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The scope of the dependency - compile, runtime, test, system, and provided. Used to calculate the various classpaths used for compilation, testing, and so on. It also assists in determining which artifacts to include in a distribution of this project. For more information, see the dependency mechanism. The default scope is compile. " } }, "systemPath": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " FOR SYSTEM SCOPE ONLY. Note that use of this property is discouraged and may be replaced in later versions. This specifies the path on the filesystem for this dependency. Requires an absolute path for the value, not relative. Use a property that gives the machine specific absolute path, e.g. ${java.home}. " } }, "exclusions": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "Lists a set of artifacts that should be excluded from this dependency's artifact list when it comes to calculating transitive dependencies." }, "exclusion": { "$type": "Exclusion", "$documentation": { "version": "4.0.0+", "description": " The <exclusion> element contains informations required to exclude an artifact to the project. " }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The artifact ID of the project to exclude." } }, "groupId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The group ID of the project to exclude." } } } }, "optional": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Indicates the dependency is optional for use of this library. While the version of the dependency will be taken into account for dependency calculation if the library is used elsewhere, it will not be passed on transitively. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. " } } } }, "repositories": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "The lists of the remote repositories for discovering dependencies and extensions." }, "repository": { "$type": "Repository", "$documentation": { "version": "4.0.0+", "description": "A repository contains the information needed for establishing connections with remote repository." }, "releases": { "$type": "RepositoryPolicy", "$documentation": { "version": "4.0.0+", "description": "How to handle downloading of releases from this repository." }, "enabled": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Whether to use this repository for downloading this type of artifact. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. " } }, "updatePolicy": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The frequency for downloading updates - can be always, daily (default), interval:XXX (in minutes) or never (only if it doesn't exist locally). " } }, "checksumPolicy": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " What to do when verification of an artifact checksum fails. Valid values are ignore , fail or warn (the default)." } } }, "snapshots": { "$type": "RepositoryPolicy", "$documentation": { "version": "4.0.0+", "description": "How to handle downloading of snapshots from this repository." }, "enabled": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Whether to use this repository for downloading this type of artifact. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. " } }, "updatePolicy": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The frequency for downloading updates - can be always, daily (default), interval:XXX (in minutes) or never (only if it doesn't exist locally). " } }, "checksumPolicy": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " What to do when verification of an artifact checksum fails. Valid values are ignore , fail or warn (the default)." } } }, "id": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " A unique identifier for a repository. This is used to match the repository to configuration in the settings.xml file, for example. Furthermore, the identifier is used during POM inheritance and profile injection to detect repositories that should be merged. " } }, "name": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "Human readable name of the repository." } }, "url": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The url of the repository, in the form protocol://hostname/path. " } }, "layout": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The type of layout this repository uses for locating and storing artifacts - can be legacy or default. " }, "$default": "default" } } }, "pluginRepositories": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "The lists of the remote repositories for discovering plugins for builds and reports." }, "pluginRepository": { "$type": "Repository", "$documentation": { "version": "4.0.0+", "description": "A repository contains the information needed for establishing connections with remote repository." }, "releases": { "$type": "RepositoryPolicy", "$documentation": { "version": "4.0.0+", "description": "How to handle downloading of releases from this repository." }, "enabled": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Whether to use this repository for downloading this type of artifact. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. " } }, "updatePolicy": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The frequency for downloading updates - can be always, daily (default), interval:XXX (in minutes) or never (only if it doesn't exist locally). " } }, "checksumPolicy": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " What to do when verification of an artifact checksum fails. Valid values are ignore , fail or warn (the default)." } } }, "snapshots": { "$type": "RepositoryPolicy", "$documentation": { "version": "4.0.0+", "description": "How to handle downloading of snapshots from this repository." }, "enabled": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Whether to use this repository for downloading this type of artifact. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. " } }, "updatePolicy": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The frequency for downloading updates - can be always, daily (default), interval:XXX (in minutes) or never (only if it doesn't exist locally). " } }, "checksumPolicy": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " What to do when verification of an artifact checksum fails. Valid values are ignore , fail or warn (the default)." } } }, "id": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " A unique identifier for a repository. This is used to match the repository to configuration in the settings.xml file, for example. Furthermore, the identifier is used during POM inheritance and profile injection to detect repositories that should be merged. " } }, "name": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "Human readable name of the repository." } }, "url": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The url of the repository, in the form protocol://hostname/path. " } }, "layout": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The type of layout this repository uses for locating and storing artifacts - can be legacy or default. " }, "$default": "default" } } }, "build": { "$type": "Build", "$documentation": { "version": "3.0.0+", "description": "Information required to build the project." }, "sourceDirectory": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " This element specifies a directory containing the source of the project. The generated build system will compile the sources from this directory when the project is built. The path given is relative to the project descriptor. The default value is src/main/java. " } }, "scriptSourceDirectory": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " This element specifies a directory containing the script sources of the project. This directory is meant to be different from the sourceDirectory, in that its contents will be copied to the output directory in most cases (since scripts are interpreted rather than compiled). The default value is src/main/scripts. " } }, "testSourceDirectory": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " This element specifies a directory containing the unit test source of the project. The generated build system will compile these directories when the project is being tested. The path given is relative to the project descriptor. The default value is src/test/java. " } }, "outputDirectory": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The directory where compiled application classes are placed. The default value is target/classes. " } }, "testOutputDirectory": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The directory where compiled test classes are placed. The default value is target/test-classes. " } }, "extensions": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "A set of build extensions to use from this project." }, "extension": { "$type": "Extension", "$documentation": { "version": "4.0.0+", "description": "Describes a build extension to utilise." }, "groupId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The group ID of the extension's artifact." } }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The artifact ID of the extension." } }, "version": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The version of the extension." } } } }, "defaultGoal": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "The default goal (or phase in Maven 2) to execute when none is specified for the project. Note that in case of a multi-module build, only the default goal of the top-level project is relevant, i.e. the default goals of child modules are ignored. Since Maven 3, multiple goals/phases can be separated by whitespace." } }, "resources": { "$type": "complexType", "$documentation": { "version": "3.0.0+", "description": " This element describes all of the classpath resources such as properties files associated with a project. These resources are often included in the final package. The default value is src/main/resources. " }, "resource": { "$type": "Resource", "$documentation": { "version": "3.0.0+", "description": "This element describes all of the classpath resources associated with a project or unit tests." }, "targetPath": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " Describe the resource target path. The path is relative to the target/classes directory (i.e. ${project.build.outputDirectory}). For example, if you want that resource to appear in a specific package (org.apache.maven.messages), you must specify this element with this value: org/apache/maven/messages. This is not required if you simply put the resources in that directory structure at the source, however. " } }, "filtering": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " Whether resources are filtered to replace tokens with parameterised values or not. The values are taken from the properties element and from the properties in the files listed in the filters element. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. " } }, "directory": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "Describe the directory where the resources are stored. The path is relative to the POM." } }, "includes": { "$type": "complexType", "$documentation": { "version": "3.0.0+", "description": " A list of patterns to include, e.g. **/*.xml. " }, "include": { "$type": "xs:string", "$documentation": {} } }, "excludes": { "$type": "complexType", "$documentation": { "version": "3.0.0+", "description": " A list of patterns to exclude, e.g. **/*.xml " }, "exclude": { "$type": "xs:string", "$documentation": {} } } } }, "testResources": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": " This element describes all of the classpath resources such as properties files associated with a project's unit tests. The default value is src/test/resources. " }, "resource": { "$type": "Resource", "$documentation": { "version": "3.0.0+", "description": "This element describes all of the classpath resources associated with a project or unit tests." }, "targetPath": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " Describe the resource target path. The path is relative to the target/classes directory (i.e. ${project.build.outputDirectory}). For example, if you want that resource to appear in a specific package (org.apache.maven.messages), you must specify this element with this value: org/apache/maven/messages. This is not required if you simply put the resources in that directory structure at the source, however. " } }, "filtering": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " Whether resources are filtered to replace tokens with parameterised values or not. The values are taken from the properties element and from the properties in the files listed in the filters element. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. " } }, "directory": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "Describe the directory where the resources are stored. The path is relative to the POM." } }, "includes": { "$type": "complexType", "$documentation": { "version": "3.0.0+", "description": " A list of patterns to include, e.g. **/*.xml. " }, "include": { "$type": "xs:string", "$documentation": {} } }, "excludes": { "$type": "complexType", "$documentation": { "version": "3.0.0+", "description": " A list of patterns to exclude, e.g. **/*.xml " }, "exclude": { "$type": "xs:string", "$documentation": {} } } } }, "directory": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The directory where all files generated by the build are placed. The default value is target. " } }, "finalName": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The filename (excluding the extension, and with no path information) that the produced artifact will be called. The default value is ${artifactId}-${version}. " } }, "filters": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "The list of filter properties files that are used when filtering is enabled." }, "filter": { "$type": "xs:string", "$documentation": {} } }, "pluginManagement": { "$type": "PluginManagement", "$documentation": { "version": "4.0.0+", "description": "Default plugin information to be made available for reference by projects derived from this one. This plugin configuration will not be resolved or bound to the lifecycle unless referenced. Any local configuration for a given plugin will override the plugin's entire definition here." }, "plugins": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "The list of plugins to use." }, "plugin": { "$type": "Plugin", "$documentation": { "version": "4.0.0+", "description": " The <plugin> element contains informations required for a plugin. " }, "groupId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The group ID of the plugin in the repository." }, "$default": "org.apache.maven.plugins" }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The artifact ID of the plugin in the repository." } }, "version": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The version (or valid range of versions) of the plugin to be used." } }, "extensions": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Whether to load Maven extensions (such as packaging and type handlers) from this plugin. For performance reasons, this should only be enabled when necessary. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. " } }, "executions": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "Multiple specifications of a set of goals to execute during the build lifecycle, each having (possibly) a different configuration." }, "execution": { "$type": "PluginExecution", "$documentation": { "version": "4.0.0+", "description": " The <execution> element contains informations required for the execution of a plugin. " }, "id": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The identifier of this execution for labelling the goals during the build, and for matching executions to merge during inheritance and profile injection." } }, "phase": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The build lifecycle phase to bind the goals in this execution to. If omitted, the goals will be bound to the default phase specified by the plugin." } }, "goals": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "The goals to execute with the given configuration." }, "goal": { "$type": "xs:string", "$documentation": {} } }, "inherited": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Whether any configuration should be propagated to child POMs. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. " } }, "configuration": { "$type": "complexType", "$documentation": { "version": "0.0.0+", "description": "

The configuration as DOM object.

By default, every element content is trimmed, but starting with Maven 3.1.0, you can add xml:space=\"preserve\" to elements you want to preserve whitespace.

You can control how child POMs inherit configuration from parent POMs by adding combine.children or combine.self attributes to the children of the configuration element:

  • combine.children: available values are merge (default) and append,
  • combine.self: available values are merge (default) and override.

See POM Reference documentation and Xpp3DomUtils for more information.

" } } } }, "dependencies": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "Additional dependencies that this project needs to introduce to the plugin's classloader." }, "dependency": { "$type": "Dependency", "$documentation": { "version": "3.0.0+", "description": " The <dependency> element contains information about a dependency of the project. " }, "groupId": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The project group that produced the dependency, e.g. org.apache.maven. " } }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The unique id for an artifact produced by the project group, e.g. maven-artifact. " } }, "version": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The version of the dependency, e.g. 3.2.1. In Maven 2, this can also be specified as a range of versions. " } }, "type": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The type of dependency, that will be mapped to a file extension, an optional classifier, and a few other attributes. Some examples are jar, war, ejb-client and test-jar: see default artifact handlers for a list. New types can be defined by extensions, so this is not a complete list. " } }, "classifier": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The classifier of the dependency. It is appended to the filename after the version. This allows:
  • referring to attached artifact, for example sources and javadoc: see default artifact handlers for a list,
  • distinguishing two artifacts that belong to the same POM but were built differently. For example, jdk14 and jdk15.
" } }, "scope": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The scope of the dependency - compile, runtime, test, system, and provided. Used to calculate the various classpaths used for compilation, testing, and so on. It also assists in determining which artifacts to include in a distribution of this project. For more information, see the dependency mechanism. The default scope is compile. " } }, "systemPath": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " FOR SYSTEM SCOPE ONLY. Note that use of this property is discouraged and may be replaced in later versions. This specifies the path on the filesystem for this dependency. Requires an absolute path for the value, not relative. Use a property that gives the machine specific absolute path, e.g. ${java.home}. " } }, "exclusions": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "Lists a set of artifacts that should be excluded from this dependency's artifact list when it comes to calculating transitive dependencies." }, "exclusion": { "$type": "Exclusion", "$documentation": { "version": "4.0.0+", "description": " The <exclusion> element contains informations required to exclude an artifact to the project. " }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The artifact ID of the project to exclude." } }, "groupId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The group ID of the project to exclude." } } } }, "optional": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Indicates the dependency is optional for use of this library. While the version of the dependency will be taken into account for dependency calculation if the library is used elsewhere, it will not be passed on transitively. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. " } } } }, "goals": { "$type": "xs:deprecated", "$documentation": { "version": "4.0.0+", "description": " Deprecated. Unused by Maven. " }, "$deprecated": true }, "inherited": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Whether any configuration should be propagated to child POMs. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. " } }, "configuration": { "$type": "complexType", "$documentation": { "version": "0.0.0+", "description": "

The configuration as DOM object.

By default, every element content is trimmed, but starting with Maven 3.1.0, you can add xml:space=\"preserve\" to elements you want to preserve whitespace.

You can control how child POMs inherit configuration from parent POMs by adding combine.children or combine.self attributes to the children of the configuration element:

  • combine.children: available values are merge (default) and append,
  • combine.self: available values are merge (default) and override.

See POM Reference documentation and Xpp3DomUtils for more information.

" } } } } }, "plugins": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "The list of plugins to use." }, "plugin": { "$type": "Plugin", "$documentation": { "version": "4.0.0+", "description": " The <plugin> element contains informations required for a plugin. " }, "groupId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The group ID of the plugin in the repository." }, "$default": "org.apache.maven.plugins" }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The artifact ID of the plugin in the repository." } }, "version": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The version (or valid range of versions) of the plugin to be used." } }, "extensions": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Whether to load Maven extensions (such as packaging and type handlers) from this plugin. For performance reasons, this should only be enabled when necessary. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. " } }, "executions": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "Multiple specifications of a set of goals to execute during the build lifecycle, each having (possibly) a different configuration." }, "execution": { "$type": "PluginExecution", "$documentation": { "version": "4.0.0+", "description": " The <execution> element contains informations required for the execution of a plugin. " }, "id": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The identifier of this execution for labelling the goals during the build, and for matching executions to merge during inheritance and profile injection." } }, "phase": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The build lifecycle phase to bind the goals in this execution to. If omitted, the goals will be bound to the default phase specified by the plugin." } }, "goals": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "The goals to execute with the given configuration." }, "goal": { "$type": "xs:string", "$documentation": {} } }, "inherited": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Whether any configuration should be propagated to child POMs. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. " } }, "configuration": { "$type": "complexType", "$documentation": { "version": "0.0.0+", "description": "

The configuration as DOM object.

By default, every element content is trimmed, but starting with Maven 3.1.0, you can add xml:space=\"preserve\" to elements you want to preserve whitespace.

You can control how child POMs inherit configuration from parent POMs by adding combine.children or combine.self attributes to the children of the configuration element:

  • combine.children: available values are merge (default) and append,
  • combine.self: available values are merge (default) and override.

See POM Reference documentation and Xpp3DomUtils for more information.

" } } } }, "dependencies": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "Additional dependencies that this project needs to introduce to the plugin's classloader." }, "dependency": { "$type": "Dependency", "$documentation": { "version": "3.0.0+", "description": " The <dependency> element contains information about a dependency of the project. " }, "groupId": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The project group that produced the dependency, e.g. org.apache.maven. " } }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The unique id for an artifact produced by the project group, e.g. maven-artifact. " } }, "version": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The version of the dependency, e.g. 3.2.1. In Maven 2, this can also be specified as a range of versions. " } }, "type": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The type of dependency, that will be mapped to a file extension, an optional classifier, and a few other attributes. Some examples are jar, war, ejb-client and test-jar: see default artifact handlers for a list. New types can be defined by extensions, so this is not a complete list. " } }, "classifier": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The classifier of the dependency. It is appended to the filename after the version. This allows:
  • referring to attached artifact, for example sources and javadoc: see default artifact handlers for a list,
  • distinguishing two artifacts that belong to the same POM but were built differently. For example, jdk14 and jdk15.
" } }, "scope": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The scope of the dependency - compile, runtime, test, system, and provided. Used to calculate the various classpaths used for compilation, testing, and so on. It also assists in determining which artifacts to include in a distribution of this project. For more information, see the dependency mechanism. The default scope is compile. " } }, "systemPath": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " FOR SYSTEM SCOPE ONLY. Note that use of this property is discouraged and may be replaced in later versions. This specifies the path on the filesystem for this dependency. Requires an absolute path for the value, not relative. Use a property that gives the machine specific absolute path, e.g. ${java.home}. " } }, "exclusions": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "Lists a set of artifacts that should be excluded from this dependency's artifact list when it comes to calculating transitive dependencies." }, "exclusion": { "$type": "Exclusion", "$documentation": { "version": "4.0.0+", "description": " The <exclusion> element contains informations required to exclude an artifact to the project. " }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The artifact ID of the project to exclude." } }, "groupId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The group ID of the project to exclude." } } } }, "optional": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Indicates the dependency is optional for use of this library. While the version of the dependency will be taken into account for dependency calculation if the library is used elsewhere, it will not be passed on transitively. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. " } } } }, "goals": { "$type": "xs:deprecated", "$documentation": { "version": "4.0.0+", "description": " Deprecated. Unused by Maven. " }, "$deprecated": true }, "inherited": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Whether any configuration should be propagated to child POMs. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. " } }, "configuration": { "$type": "complexType", "$documentation": { "version": "0.0.0+", "description": "

The configuration as DOM object.

By default, every element content is trimmed, but starting with Maven 3.1.0, you can add xml:space=\"preserve\" to elements you want to preserve whitespace.

You can control how child POMs inherit configuration from parent POMs by adding combine.children or combine.self attributes to the children of the configuration element:

  • combine.children: available values are merge (default) and append,
  • combine.self: available values are merge (default) and override.

See POM Reference documentation and Xpp3DomUtils for more information.

" } } } } }, "reports": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": " Deprecated. Now ignored by Maven. " }, "$deprecated": true }, "reporting": { "$type": "Reporting", "$documentation": { "version": "4.0.0+", "description": " This element includes the specification of report plugins to use to generate the reports on the Maven-generated site. These reports will be run when a user executes mvn site. All of the reports will be included in the navigation bar for browsing. " }, "excludeDefaults": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " If true, then the default reports are not included in the site generation. This includes the reports in the \"Project Info\" menu. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. " } }, "outputDirectory": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Where to store all of the generated reports. The default is ${project.build.directory}/site. " } }, "plugins": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "The reporting plugins to use and their configuration." }, "plugin": { "$type": "ReportPlugin", "$documentation": { "version": "4.0.0+", "description": " The <plugin> element contains informations required for a report plugin. " }, "groupId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The group ID of the reporting plugin in the repository." } }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The artifact ID of the reporting plugin in the repository." } }, "version": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The version of the reporting plugin to be used." } }, "reportSets": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": " Multiple specifications of a set of reports, each having (possibly) different configuration. This is the reporting parallel to an execution in the build. " }, "reportSet": { "$type": "ReportSet", "$documentation": { "version": "4.0.0+", "description": "Represents a set of reports and configuration to be used to generate them." }, "id": { "$type": "xs:string", "$documentation": { "version": "0.0.0+", "description": "The unique id for this report set, to be used during POM inheritance and profile injection for merging of report sets. " }, "$default": "default" }, "reports": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "The list of reports from this plugin which should be generated from this set." }, "report": { "$type": "xs:string", "$documentation": {} } }, "inherited": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Whether any configuration should be propagated to child POMs. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. " } }, "configuration": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "

The configuration as DOM object.

By default, every element content is trimmed, but starting with Maven 3.1.0, you can add xml:space=\"preserve\" to elements you want to preserve whitespace.

You can control how child POMs inherit configuration from parent POMs by adding combine.children or combine.self attributes to the children of the configuration element:

  • combine.children: available values are merge (default) and append,
  • combine.self: available values are merge (default) and override.

See POM Reference documentation and Xpp3DomUtils for more information.

" } } } }, "inherited": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Whether any configuration should be propagated to child POMs. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. " } }, "configuration": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "

The configuration as DOM object.

By default, every element content is trimmed, but starting with Maven 3.1.0, you can add xml:space=\"preserve\" to elements you want to preserve whitespace.

You can control how child POMs inherit configuration from parent POMs by adding combine.children or combine.self attributes to the children of the configuration element:

  • combine.children: available values are merge (default) and append,
  • combine.self: available values are merge (default) and override.

See POM Reference documentation and Xpp3DomUtils for more information.

" } } } } }, "profiles": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "A listing of project-local build profiles which will modify the build process when activated." }, "profile": { "$type": "Profile", "$documentation": { "version": "4.0.0+", "description": "Modifications to the build process which is activated based on environmental parameters or command line arguments." }, "id": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The identifier of this build profile. This is used for command line activation, and identifies profiles to be merged. " }, "$default": "default" }, "activation": { "$type": "Activation", "$documentation": { "version": "4.0.0+", "description": "The conditional logic which will automatically trigger the inclusion of this profile." }, "activeByDefault": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "If set to true, this profile will be active unless another profile in this pom is activated using the command line -P option or by one of that profile's activators." }, "$default": "false" }, "jdk": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Specifies that this profile will be activated when a matching JDK is detected. For example, 1.4 only activates on JDKs versioned 1.4, while !1.4 matches any JDK that is not version 1.4. Ranges are supported too: [1.5,) activates when the JDK is 1.5 minimum. " } }, "os": { "$type": "ActivationOS", "$documentation": { "version": "4.0.0+", "description": "Specifies that this profile will be activated when matching operating system attributes are detected." }, "name": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The name of the operating system to be used to activate the profile. This must be an exact match of the ${os.name} Java property, such as Windows XP. " } }, "family": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The general family of the OS to be used to activate the profile, such as windows or unix. " } }, "arch": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The architecture of the operating system to be used to activate the profile." } }, "version": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The version of the operating system to be used to activate the profile." } } }, "property": { "$type": "ActivationProperty", "$documentation": { "version": "4.0.0+", "description": "Specifies that this profile will be activated when this system property is specified." }, "name": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The name of the property to be used to activate a profile." } }, "value": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The value of the property required to activate a profile." } } }, "file": { "$type": "ActivationProperty", "$documentation": { "version": "4.0.0+", "description": "Specifies that this profile will be activated based on existence of a file." }, "missing": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The name of the file that must be missing to activate the profile." } }, "exists": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The name of the file that must exist to activate the profile." } } } }, "build": { "$type": "BuildBase", "$documentation": { "version": "4.0.0+", "description": "Information required to build the project." }, "defaultGoal": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The default goal (or phase in Maven 2) to execute when none is specified for the project. Note that in case of a multi-module build, only the default goal of the top-level project is relevant, i.e. the default goals of child modules are ignored. Since Maven 3, multiple goals/phases can be separated by whitespace." } }, "resources": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": " This element describes all of the classpath resources such as properties files associated with a project. These resources are often included in the final package. The default value is src/main/resources. " }, "resource": { "$type": "Resource", "$documentation": { "version": "3.0.0+", "description": "This element describes all of the classpath resources associated with a project or unit tests." }, "targetPath": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " Describe the resource target path. The path is relative to the target/classes directory (i.e. ${project.build.outputDirectory}). For example, if you want that resource to appear in a specific package (org.apache.maven.messages), you must specify this element with this value: org/apache/maven/messages. This is not required if you simply put the resources in that directory structure at the source, however. " } }, "filtering": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " Whether resources are filtered to replace tokens with parameterised values or not. The values are taken from the properties element and from the properties in the files listed in the filters element. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. " } }, "directory": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "Describe the directory where the resources are stored. The path is relative to the POM." } }, "includes": { "$type": "complexType", "$documentation": { "version": "3.0.0+", "description": " A list of patterns to include, e.g. **/*.xml. " }, "include": { "$type": "xs:string", "$documentation": {} } }, "excludes": { "$type": "complexType", "$documentation": { "version": "3.0.0+", "description": " A list of patterns to exclude, e.g. **/*.xml " }, "exclude": { "$type": "xs:string", "$documentation": {} } } } }, "testResources": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": " This element describes all of the classpath resources such as properties files associated with a project's unit tests. The default value is src/test/resources. " }, "testResource": { "$type": "Resource", "$documentation": { "version": "3.0.0+", "description": "This element describes all of the classpath resources associated with a project or unit tests." }, "targetPath": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " Describe the resource target path. The path is relative to the target/classes directory (i.e. ${project.build.outputDirectory}). For example, if you want that resource to appear in a specific package (org.apache.maven.messages), you must specify this element with this value: org/apache/maven/messages. This is not required if you simply put the resources in that directory structure at the source, however. " } }, "filtering": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " Whether resources are filtered to replace tokens with parameterised values or not. The values are taken from the properties element and from the properties in the files listed in the filters element. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. " } }, "directory": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": "Describe the directory where the resources are stored. The path is relative to the POM." } }, "includes": { "$type": "complexType", "$documentation": { "version": "3.0.0+", "description": " A list of patterns to include, e.g. **/*.xml. " }, "include": { "$type": "xs:string", "$documentation": {} } }, "excludes": { "$type": "complexType", "$documentation": { "version": "3.0.0+", "description": " A list of patterns to exclude, e.g. **/*.xml " }, "exclude": { "$type": "xs:string", "$documentation": {} } } } }, "directory": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The directory where all files generated by the build are placed. The default value is target. " } }, "finalName": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The filename (excluding the extension, and with no path information) that the produced artifact will be called. The default value is ${artifactId}-${version}. " } }, "filters": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "The list of filter properties files that are used when filtering is enabled." }, "filter": { "$type": "xs:string", "$documentation": {} } }, "pluginManagement": { "$type": "PluginManagement", "$documentation": { "version": "4.0.0+", "description": "Default plugin information to be made available for reference by projects derived from this one. This plugin configuration will not be resolved or bound to the lifecycle unless referenced. Any local configuration for a given plugin will override the plugin's entire definition here." }, "plugins": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "The list of plugins to use." }, "plugin": { "$type": "Plugin", "$documentation": { "version": "4.0.0+", "description": " The <plugin> element contains informations required for a plugin. " }, "groupId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The group ID of the plugin in the repository." }, "$default": "org.apache.maven.plugins" }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The artifact ID of the plugin in the repository." } }, "version": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The version (or valid range of versions) of the plugin to be used." } }, "extensions": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Whether to load Maven extensions (such as packaging and type handlers) from this plugin. For performance reasons, this should only be enabled when necessary. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. " } }, "executions": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "Multiple specifications of a set of goals to execute during the build lifecycle, each having (possibly) a different configuration." }, "execution": { "$type": "PluginExecution", "$documentation": { "version": "4.0.0+", "description": " The <execution> element contains informations required for the execution of a plugin. " }, "id": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The identifier of this execution for labelling the goals during the build, and for matching executions to merge during inheritance and profile injection." } }, "phase": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The build lifecycle phase to bind the goals in this execution to. If omitted, the goals will be bound to the default phase specified by the plugin." } }, "goals": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "The goals to execute with the given configuration." }, "goal": { "$type": "xs:string", "$documentation": {} } }, "inherited": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Whether any configuration should be propagated to child POMs. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. " } }, "configuration": { "$type": "complexType", "$documentation": { "version": "0.0.0+", "description": "

The configuration as DOM object.

By default, every element content is trimmed, but starting with Maven 3.1.0, you can add xml:space=\"preserve\" to elements you want to preserve whitespace.

You can control how child POMs inherit configuration from parent POMs by adding combine.children or combine.self attributes to the children of the configuration element:

  • combine.children: available values are merge (default) and append,
  • combine.self: available values are merge (default) and override.

See POM Reference documentation and Xpp3DomUtils for more information.

" } } } }, "dependencies": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "Additional dependencies that this project needs to introduce to the plugin's classloader." }, "dependency": { "$type": "Dependency", "$documentation": { "version": "3.0.0+", "description": " The <dependency> element contains information about a dependency of the project. " }, "groupId": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The project group that produced the dependency, e.g. org.apache.maven. " } }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The unique id for an artifact produced by the project group, e.g. maven-artifact. " } }, "version": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The version of the dependency, e.g. 3.2.1. In Maven 2, this can also be specified as a range of versions. " } }, "type": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The type of dependency, that will be mapped to a file extension, an optional classifier, and a few other attributes. Some examples are jar, war, ejb-client and test-jar: see default artifact handlers for a list. New types can be defined by extensions, so this is not a complete list. " } }, "classifier": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The classifier of the dependency. It is appended to the filename after the version. This allows:
  • referring to attached artifact, for example sources and javadoc: see default artifact handlers for a list,
  • distinguishing two artifacts that belong to the same POM but were built differently. For example, jdk14 and jdk15.
" } }, "scope": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The scope of the dependency - compile, runtime, test, system, and provided. Used to calculate the various classpaths used for compilation, testing, and so on. It also assists in determining which artifacts to include in a distribution of this project. For more information, see the dependency mechanism. The default scope is compile. " } }, "systemPath": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " FOR SYSTEM SCOPE ONLY. Note that use of this property is discouraged and may be replaced in later versions. This specifies the path on the filesystem for this dependency. Requires an absolute path for the value, not relative. Use a property that gives the machine specific absolute path, e.g. ${java.home}. " } }, "exclusions": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "Lists a set of artifacts that should be excluded from this dependency's artifact list when it comes to calculating transitive dependencies." }, "exclusion": { "$type": "Exclusion", "$documentation": { "version": "4.0.0+", "description": " The <exclusion> element contains informations required to exclude an artifact to the project. " }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The artifact ID of the project to exclude." } }, "groupId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The group ID of the project to exclude." } } } }, "optional": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Indicates the dependency is optional for use of this library. While the version of the dependency will be taken into account for dependency calculation if the library is used elsewhere, it will not be passed on transitively. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. " } } } }, "goals": { "$type": "xs:deprecated", "$documentation": { "version": "4.0.0+", "description": " Deprecated. Unused by Maven. " }, "$deprecated": true }, "inherited": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Whether any configuration should be propagated to child POMs. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. " } }, "configuration": { "$type": "complexType", "$documentation": { "version": "0.0.0+", "description": "

The configuration as DOM object.

By default, every element content is trimmed, but starting with Maven 3.1.0, you can add xml:space=\"preserve\" to elements you want to preserve whitespace.

You can control how child POMs inherit configuration from parent POMs by adding combine.children or combine.self attributes to the children of the configuration element:

  • combine.children: available values are merge (default) and append,
  • combine.self: available values are merge (default) and override.

See POM Reference documentation and Xpp3DomUtils for more information.

" } } } } }, "plugins": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "The list of plugins to use." }, "plugin": { "$type": "Plugin", "$documentation": { "version": "4.0.0+", "description": " The <plugin> element contains informations required for a plugin. " }, "groupId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The group ID of the plugin in the repository." }, "$default": "org.apache.maven.plugins" }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The artifact ID of the plugin in the repository." } }, "version": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The version (or valid range of versions) of the plugin to be used." } }, "extensions": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Whether to load Maven extensions (such as packaging and type handlers) from this plugin. For performance reasons, this should only be enabled when necessary. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. " } }, "executions": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "Multiple specifications of a set of goals to execute during the build lifecycle, each having (possibly) a different configuration." }, "execution": { "$type": "PluginExecution", "$documentation": { "version": "4.0.0+", "description": " The <execution> element contains informations required for the execution of a plugin. " }, "id": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The identifier of this execution for labelling the goals during the build, and for matching executions to merge during inheritance and profile injection." } }, "phase": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The build lifecycle phase to bind the goals in this execution to. If omitted, the goals will be bound to the default phase specified by the plugin." } }, "goals": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "The goals to execute with the given configuration." }, "goal": { "$type": "xs:string", "$documentation": {} } }, "inherited": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Whether any configuration should be propagated to child POMs. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. " } }, "configuration": { "$type": "complexType", "$documentation": { "version": "0.0.0+", "description": "

The configuration as DOM object.

By default, every element content is trimmed, but starting with Maven 3.1.0, you can add xml:space=\"preserve\" to elements you want to preserve whitespace.

You can control how child POMs inherit configuration from parent POMs by adding combine.children or combine.self attributes to the children of the configuration element:

  • combine.children: available values are merge (default) and append,
  • combine.self: available values are merge (default) and override.

See POM Reference documentation and Xpp3DomUtils for more information.

" } } } }, "dependencies": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "Additional dependencies that this project needs to introduce to the plugin's classloader." }, "dependency": { "$type": "Dependency", "$documentation": { "version": "3.0.0+", "description": " The <dependency> element contains information about a dependency of the project. " }, "groupId": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The project group that produced the dependency, e.g. org.apache.maven. " } }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The unique id for an artifact produced by the project group, e.g. maven-artifact. " } }, "version": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The version of the dependency, e.g. 3.2.1. In Maven 2, this can also be specified as a range of versions. " } }, "type": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The type of dependency, that will be mapped to a file extension, an optional classifier, and a few other attributes. Some examples are jar, war, ejb-client and test-jar: see default artifact handlers for a list. New types can be defined by extensions, so this is not a complete list. " } }, "classifier": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The classifier of the dependency. It is appended to the filename after the version. This allows:
  • referring to attached artifact, for example sources and javadoc: see default artifact handlers for a list,
  • distinguishing two artifacts that belong to the same POM but were built differently. For example, jdk14 and jdk15.
" } }, "scope": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The scope of the dependency - compile, runtime, test, system, and provided. Used to calculate the various classpaths used for compilation, testing, and so on. It also assists in determining which artifacts to include in a distribution of this project. For more information, see the dependency mechanism. The default scope is compile. " } }, "systemPath": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " FOR SYSTEM SCOPE ONLY. Note that use of this property is discouraged and may be replaced in later versions. This specifies the path on the filesystem for this dependency. Requires an absolute path for the value, not relative. Use a property that gives the machine specific absolute path, e.g. ${java.home}. " } }, "exclusions": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "Lists a set of artifacts that should be excluded from this dependency's artifact list when it comes to calculating transitive dependencies." }, "exclusion": { "$type": "Exclusion", "$documentation": { "version": "4.0.0+", "description": " The <exclusion> element contains informations required to exclude an artifact to the project. " }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The artifact ID of the project to exclude." } }, "groupId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The group ID of the project to exclude." } } } }, "optional": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Indicates the dependency is optional for use of this library. While the version of the dependency will be taken into account for dependency calculation if the library is used elsewhere, it will not be passed on transitively. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. " } } } }, "goals": { "$type": "xs:deprecated", "$documentation": { "version": "4.0.0+", "description": " Deprecated. Unused by Maven. " }, "$deprecated": true }, "inherited": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Whether any configuration should be propagated to child POMs. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. " } }, "configuration": { "$type": "complexType", "$documentation": { "version": "0.0.0+", "description": "

The configuration as DOM object.

By default, every element content is trimmed, but starting with Maven 3.1.0, you can add xml:space=\"preserve\" to elements you want to preserve whitespace.

You can control how child POMs inherit configuration from parent POMs by adding combine.children or combine.self attributes to the children of the configuration element:

  • combine.children: available values are merge (default) and append,
  • combine.self: available values are merge (default) and override.

See POM Reference documentation and Xpp3DomUtils for more information.

" } } } } }, "modules": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "The modules (sometimes called subprojects) to build as a part of this project. Each module listed is a relative path to the directory containing the module. To be consistent with the way default urls are calculated from parent, it is recommended to have module names match artifact ids." }, "module": { "$type": "xs:string", "$documentation": {} } }, "distributionManagement": { "$type": "DistributionManagement", "$documentation": { "version": "4.0.0+", "description": "Distribution information for a project that enables deployment of the site and artifacts to remote web servers and repositories respectively." }, "repository": { "$type": "DeploymentRepository", "$documentation": { "version": "4.0.0+", "description": "Information needed to deploy the artifacts generated by the project to a remote repository." } }, "snapshotRepository": { "$type": "DeploymentRepository", "$documentation": { "version": "4.0.0+", "description": " Where to deploy snapshots of artifacts to. If not given, it defaults to the repository element." } }, "site": { "$type": "Site", "$documentation": { "version": "4.0.0+", "description": "Information needed for deploying the web site of the project." }, "id": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " A unique identifier for a deployment location. This is used to match the site to configuration in the settings.xml file, for example." } }, "name": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "Human readable name of the deployment location." } }, "url": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The url of the location where website is deployed, in the form protocol://hostname/path.
Default value is: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if site's child.site.url.inherit.append.path=\"false\" " } } }, "downloadUrl": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The URL of the project's download page. If not given users will be referred to the homepage given by url. This is given to assist in locating artifacts that are not in the repository due to licensing restrictions. " } }, "relocation": { "$type": "Relocation", "$documentation": { "version": "4.0.0+", "description": "Relocation information of the artifact if it has been moved to a new group ID and/or artifact ID." }, "groupId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The group ID the artifact has moved to." } }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The new artifact ID of the artifact." } }, "version": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The new version of the artifact." } }, "message": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "An additional message to show the user about the move, such as the reason." } } }, "status": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Gives the status of this artifact in the remote repository. This must not be set in your local project, as it is updated by tools placing it in the reposiory. Valid values are: none (default), converted (repository manager converted this from an Maven 1 POM), partner (directly synced from a partner Maven 2 repository), deployed (was deployed from a Maven 2 instance), verified (has been hand verified as correct and final). " } } }, "properties": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": " Properties that can be used throughout the POM as a substitution, and are used as filters in resources if enabled. The format is <name>value</name>. " } }, "dependencyManagement": { "$type": "DependencyManagement", "$documentation": { "version": "4.0.0+", "description": "Default dependency information for projects that inherit from this one. The dependencies in this section are not immediately resolved. Instead, when a POM derived from this one declares a dependency described by a matching groupId and artifactId, the version and other values from this section are used for that dependency if they were not already specified." }, "dependencies": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "The dependencies specified here are not used until they are referenced in a POM within the group. This allows the specification of a \"standard\" version for a particular dependency." }, "dependency": { "$type": "Dependency", "$documentation": { "version": "3.0.0+", "description": " The <dependency> element contains information about a dependency of the project. " }, "groupId": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The project group that produced the dependency, e.g. org.apache.maven. " } }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The unique id for an artifact produced by the project group, e.g. maven-artifact. " } }, "version": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The version of the dependency, e.g. 3.2.1. In Maven 2, this can also be specified as a range of versions. " } }, "type": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The type of dependency, that will be mapped to a file extension, an optional classifier, and a few other attributes. Some examples are jar, war, ejb-client and test-jar: see default artifact handlers for a list. New types can be defined by extensions, so this is not a complete list. " } }, "classifier": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The classifier of the dependency. It is appended to the filename after the version. This allows:
  • referring to attached artifact, for example sources and javadoc: see default artifact handlers for a list,
  • distinguishing two artifacts that belong to the same POM but were built differently. For example, jdk14 and jdk15.
" } }, "scope": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The scope of the dependency - compile, runtime, test, system, and provided. Used to calculate the various classpaths used for compilation, testing, and so on. It also assists in determining which artifacts to include in a distribution of this project. For more information, see the dependency mechanism. The default scope is compile. " } }, "systemPath": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " FOR SYSTEM SCOPE ONLY. Note that use of this property is discouraged and may be replaced in later versions. This specifies the path on the filesystem for this dependency. Requires an absolute path for the value, not relative. Use a property that gives the machine specific absolute path, e.g. ${java.home}. " } }, "exclusions": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "Lists a set of artifacts that should be excluded from this dependency's artifact list when it comes to calculating transitive dependencies." }, "exclusion": { "$type": "Exclusion", "$documentation": { "version": "4.0.0+", "description": " The <exclusion> element contains informations required to exclude an artifact to the project. " }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The artifact ID of the project to exclude." } }, "groupId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The group ID of the project to exclude." } } } }, "optional": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Indicates the dependency is optional for use of this library. While the version of the dependency will be taken into account for dependency calculation if the library is used elsewhere, it will not be passed on transitively. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. " } } } } }, "dependencies": { "$type": "complexType", "$documentation": { "version": "3.0.0+", "description": " This element describes all of the dependencies associated with a project. These dependencies are used to construct a classpath for your project during the build process. They are automatically downloaded from the repositories defined in this project. See the dependency mechanism for more information. " }, "dependency": { "$type": "Dependency", "$documentation": { "version": "3.0.0+", "description": " The <dependency> element contains information about a dependency of the project. " }, "groupId": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The project group that produced the dependency, e.g. org.apache.maven. " } }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The unique id for an artifact produced by the project group, e.g. maven-artifact. " } }, "version": { "$type": "xs:string", "$documentation": { "version": "3.0.0+", "description": " The version of the dependency, e.g. 3.2.1. In Maven 2, this can also be specified as a range of versions. " } }, "type": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The type of dependency, that will be mapped to a file extension, an optional classifier, and a few other attributes. Some examples are jar, war, ejb-client and test-jar: see default artifact handlers for a list. New types can be defined by extensions, so this is not a complete list. " } }, "classifier": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The classifier of the dependency. It is appended to the filename after the version. This allows:
  • referring to attached artifact, for example sources and javadoc: see default artifact handlers for a list,
  • distinguishing two artifacts that belong to the same POM but were built differently. For example, jdk14 and jdk15.
" } }, "scope": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The scope of the dependency - compile, runtime, test, system, and provided. Used to calculate the various classpaths used for compilation, testing, and so on. It also assists in determining which artifacts to include in a distribution of this project. For more information, see the dependency mechanism. The default scope is compile. " } }, "systemPath": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " FOR SYSTEM SCOPE ONLY. Note that use of this property is discouraged and may be replaced in later versions. This specifies the path on the filesystem for this dependency. Requires an absolute path for the value, not relative. Use a property that gives the machine specific absolute path, e.g. ${java.home}. " } }, "exclusions": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "Lists a set of artifacts that should be excluded from this dependency's artifact list when it comes to calculating transitive dependencies." }, "exclusion": { "$type": "Exclusion", "$documentation": { "version": "4.0.0+", "description": " The <exclusion> element contains informations required to exclude an artifact to the project. " }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The artifact ID of the project to exclude." } }, "groupId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The group ID of the project to exclude." } } } }, "optional": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Indicates the dependency is optional for use of this library. While the version of the dependency will be taken into account for dependency calculation if the library is used elsewhere, it will not be passed on transitively. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. " } } } }, "repositories": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "The lists of the remote repositories for discovering dependencies and extensions." }, "repository": { "$type": "Repository", "$documentation": { "version": "4.0.0+", "description": "A repository contains the information needed for establishing connections with remote repository." }, "releases": { "$type": "RepositoryPolicy", "$documentation": { "version": "4.0.0+", "description": "How to handle downloading of releases from this repository." }, "enabled": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Whether to use this repository for downloading this type of artifact. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. " } }, "updatePolicy": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The frequency for downloading updates - can be always, daily (default), interval:XXX (in minutes) or never (only if it doesn't exist locally). " } }, "checksumPolicy": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " What to do when verification of an artifact checksum fails. Valid values are ignore , fail or warn (the default)." } } }, "snapshots": { "$type": "RepositoryPolicy", "$documentation": { "version": "4.0.0+", "description": "How to handle downloading of snapshots from this repository." }, "enabled": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Whether to use this repository for downloading this type of artifact. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. " } }, "updatePolicy": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The frequency for downloading updates - can be always, daily (default), interval:XXX (in minutes) or never (only if it doesn't exist locally). " } }, "checksumPolicy": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " What to do when verification of an artifact checksum fails. Valid values are ignore , fail or warn (the default)." } } }, "id": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " A unique identifier for a repository. This is used to match the repository to configuration in the settings.xml file, for example. Furthermore, the identifier is used during POM inheritance and profile injection to detect repositories that should be merged. " } }, "name": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "Human readable name of the repository." } }, "url": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The url of the repository, in the form protocol://hostname/path. " } }, "layout": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The type of layout this repository uses for locating and storing artifacts - can be legacy or default. " }, "$default": "default" } } }, "pluginRepositories": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "The lists of the remote repositories for discovering plugins for builds and reports." }, "repository": { "$type": "Repository", "$documentation": { "version": "4.0.0+", "description": "A repository contains the information needed for establishing connections with remote repository." }, "releases": { "$type": "RepositoryPolicy", "$documentation": { "version": "4.0.0+", "description": "How to handle downloading of releases from this repository." }, "enabled": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Whether to use this repository for downloading this type of artifact. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. " } }, "updatePolicy": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The frequency for downloading updates - can be always, daily (default), interval:XXX (in minutes) or never (only if it doesn't exist locally). " } }, "checksumPolicy": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " What to do when verification of an artifact checksum fails. Valid values are ignore , fail or warn (the default)." } } }, "snapshots": { "$type": "RepositoryPolicy", "$documentation": { "version": "4.0.0+", "description": "How to handle downloading of snapshots from this repository." }, "enabled": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Whether to use this repository for downloading this type of artifact. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. " } }, "updatePolicy": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The frequency for downloading updates - can be always, daily (default), interval:XXX (in minutes) or never (only if it doesn't exist locally). " } }, "checksumPolicy": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " What to do when verification of an artifact checksum fails. Valid values are ignore , fail or warn (the default)." } } }, "id": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " A unique identifier for a repository. This is used to match the repository to configuration in the settings.xml file, for example. Furthermore, the identifier is used during POM inheritance and profile injection to detect repositories that should be merged. " } }, "name": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "Human readable name of the repository." } }, "url": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The url of the repository, in the form protocol://hostname/path. " } }, "layout": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " The type of layout this repository uses for locating and storing artifacts - can be legacy or default. " }, "$default": "default" } } }, "reports": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": " Deprecated. Now ignored by Maven. " } }, "reporting": { "$type": "Reporting", "$documentation": { "version": "4.0.0+", "description": " This element includes the specification of report plugins to use to generate the reports on the Maven-generated site. These reports will be run when a user executes mvn site. All of the reports will be included in the navigation bar for browsing. " }, "excludeDefaults": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " If true, then the default reports are not included in the site generation. This includes the reports in the \"Project Info\" menu. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. " } }, "outputDirectory": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Where to store all of the generated reports. The default is ${project.build.directory}/site. " } }, "plugins": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "The reporting plugins to use and their configuration." }, "plugin": { "$type": "ReportPlugin", "$documentation": { "version": "4.0.0+", "description": " The <plugin> element contains informations required for a report plugin. " }, "groupId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The group ID of the reporting plugin in the repository." } }, "artifactId": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The artifact ID of the reporting plugin in the repository." } }, "version": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": "The version of the reporting plugin to be used." } }, "reportSets": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": " Multiple specifications of a set of reports, each having (possibly) different configuration. This is the reporting parallel to an execution in the build. " }, "reportSet": { "$type": "ReportSet", "$documentation": { "version": "4.0.0+", "description": "Represents a set of reports and configuration to be used to generate them." }, "id": { "$type": "xs:string", "$documentation": { "version": "0.0.0+", "description": "The unique id for this report set, to be used during POM inheritance and profile injection for merging of report sets. " }, "$default": "default" }, "reports": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "The list of reports from this plugin which should be generated from this set." }, "report": { "$type": "xs:string", "$documentation": {} } }, "inherited": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Whether any configuration should be propagated to child POMs. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. " } }, "configuration": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "

The configuration as DOM object.

By default, every element content is trimmed, but starting with Maven 3.1.0, you can add xml:space=\"preserve\" to elements you want to preserve whitespace.

You can control how child POMs inherit configuration from parent POMs by adding combine.children or combine.self attributes to the children of the configuration element:

  • combine.children: available values are merge (default) and append,
  • combine.self: available values are merge (default) and override.

See POM Reference documentation and Xpp3DomUtils for more information.

" } } } }, "inherited": { "$type": "xs:string", "$documentation": { "version": "4.0.0+", "description": " Whether any configuration should be propagated to child POMs. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. " } }, "configuration": { "$type": "complexType", "$documentation": { "version": "4.0.0+", "description": "

The configuration as DOM object.

By default, every element content is trimmed, but starting with Maven 3.1.0, you can add xml:space=\"preserve\" to elements you want to preserve whitespace.

You can control how child POMs inherit configuration from parent POMs by adding combine.children or combine.self attributes to the children of the configuration element:

  • combine.children: available values are merge (default) and append,
  • combine.self: available values are merge (default) and override.

See POM Reference documentation and Xpp3DomUtils for more information.

" } } } } } } } } } ================================================ FILE: resources/maven-wrapper/.mvn/wrapper/MavenWrapperDownloader.java ================================================ /* * Copyright 2007-present the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import java.net.*; import java.io.*; import java.nio.channels.*; import java.util.Properties; public class MavenWrapperDownloader { private static final String WRAPPER_VERSION = "0.5.5"; /** * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. */ private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; /** * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to * use instead of the default one. */ private static final String MAVEN_WRAPPER_PROPERTIES_PATH = ".mvn/wrapper/maven-wrapper.properties"; /** * Path where the maven-wrapper.jar will be saved to. */ private static final String MAVEN_WRAPPER_JAR_PATH = ".mvn/wrapper/maven-wrapper.jar"; /** * Name of the property which should be used to override the default download url for the wrapper. */ private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; public static void main(String args[]) { System.out.println("- Downloader started"); File baseDirectory = new File(args[0]); System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); // If the maven-wrapper.properties exists, read it and check if it contains a custom // wrapperUrl parameter. File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); String url = DEFAULT_DOWNLOAD_URL; if(mavenWrapperPropertyFile.exists()) { FileInputStream mavenWrapperPropertyFileInputStream = null; try { mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); Properties mavenWrapperProperties = new Properties(); mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); } catch (IOException e) { System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); } finally { try { if(mavenWrapperPropertyFileInputStream != null) { mavenWrapperPropertyFileInputStream.close(); } } catch (IOException e) { // Ignore ... } } } System.out.println("- Downloading from: " + url); File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); if(!outputFile.getParentFile().exists()) { if(!outputFile.getParentFile().mkdirs()) { System.out.println( "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); } } System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); try { downloadFileFromURL(url, outputFile); System.out.println("Done"); System.exit(0); } catch (Throwable e) { System.out.println("- Error downloading"); e.printStackTrace(); System.exit(1); } } private static void downloadFileFromURL(String urlString, File destination) throws Exception { if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { String username = System.getenv("MVNW_USERNAME"); char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); Authenticator.setDefault(new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }); } URL website = new URL(urlString); ReadableByteChannel rbc; rbc = Channels.newChannel(website.openStream()); FileOutputStream fos = new FileOutputStream(destination); fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); fos.close(); rbc.close(); } } ================================================ FILE: resources/maven-wrapper/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar ================================================ FILE: resources/maven-wrapper/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Mingw, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi ########################################################################################## # Extension to allow automatically downloading the maven-wrapper.jar from Maven-central # This allows using the maven wrapper in projects that prohibit checking in binary data. ########################################################################################## if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then if [ "$MVNW_VERBOSE" = true ]; then echo "Found .mvn/wrapper/maven-wrapper.jar" fi else if [ "$MVNW_VERBOSE" = true ]; then echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." fi if [ -n "$MVNW_REPOURL" ]; then jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar" else jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar" fi while IFS="=" read key value; do case "$key" in (wrapperUrl) jarUrl="$value"; break ;; esac done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" if [ "$MVNW_VERBOSE" = true ]; then echo "Downloading from: $jarUrl" fi wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" if $cygwin; then wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` fi if command -v wget > /dev/null; then if [ "$MVNW_VERBOSE" = true ]; then echo "Found wget ... using wget" fi if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then wget "$jarUrl" -O "$wrapperJarPath" else wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" fi elif command -v curl > /dev/null; then if [ "$MVNW_VERBOSE" = true ]; then echo "Found curl ... using curl" fi if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then curl -o "$wrapperJarPath" "$jarUrl" -f else curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f fi else if [ "$MVNW_VERBOSE" = true ]; then echo "Falling back to using Java to download" fi javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" # For Cygwin, switch paths to Windows format before running javac if $cygwin; then javaClass=`cygpath --path --windows "$javaClass"` fi if [ -e "$javaClass" ]; then if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then if [ "$MVNW_VERBOSE" = true ]; then echo " - Compiling MavenWrapperDownloader.java ..." fi # Compiling the Java class ("$JAVA_HOME/bin/javac" "$javaClass") fi if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then # Running the downloader if [ "$MVNW_VERBOSE" = true ]; then echo " - Running MavenWrapperDownloader.java ..." fi ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") fi fi fi fi ########################################################################################## # End of extension ########################################################################################## export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} if [ "$MVNW_VERBOSE" = true ]; then echo $MAVEN_PROJECTBASEDIR fi MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi # Provide a "standardized" way to retrieve the CLI args that will # work with both Windows and non-Windows executions. MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" export MAVEN_CMD_LINE_ARGS WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: resources/maven-wrapper/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM set title of command window title %0 @REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar" FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B ) @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central @REM This allows using the maven wrapper in projects that prohibit checking in binary data. if exist %WRAPPER_JAR% ( if "%MVNW_VERBOSE%" == "true" ( echo Found %WRAPPER_JAR% ) ) else ( if not "%MVNW_REPOURL%" == "" ( SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar" ) if "%MVNW_VERBOSE%" == "true" ( echo Couldn't find %WRAPPER_JAR%, downloading it ... echo Downloading from: %DOWNLOAD_URL% ) powershell -Command "&{"^ "$webclient = new-object System.Net.WebClient;"^ "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ "}"^ "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ "}" if "%MVNW_VERBOSE%" == "true" ( echo Finished downloading %WRAPPER_JAR% ) ) @REM End of extension @REM Provide a "standardized" way to retrieve the CLI args that will @REM work with both Windows and non-Windows executions. set MAVEN_CMD_LINE_ARGS=%* %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: resources/popular_archetypes.json ================================================ [ "org.apache.maven.archetypes:maven-archetype-quickstart", "com.github.ngeor:archetype-quickstart-jdk8", "am.ik.archetype:maven-reactjs-blank-archetype", "org.apache.maven.archetypes:maven-archetype-webapp", "am.ik.archetype:spring-boot-blank-archetype", "com.vaadin:vaadin-archetype-application", "am.ik.archetype:mvc-1.0-blank-archetype", "org.apache.maven.archetypes:maven-archetype-archetype", "org.apache.maven.archetypes:maven-archetype-j2ee-simple" ] ================================================ FILE: resources/projectTemplate/pom.xml ================================================ 4.0.0 ${parentPom} ${groupId} ${artifactId} 1.0-SNAPSHOT ${javaSourceVersion} ${javaTargetVersion} ================================================ FILE: scripts/build-jdtls-ext.js ================================================ function isWin() { return /^win/.test(process.platform); } function mvnw() { return isWin() ? 'mvnw.cmd' : './mvnw'; } const cp = require('child_process'); const path = require('path'); const serverDir = path.join(__dirname, '..', 'jdtls.ext'); cp.execSync(`${mvnw()} clean package`, { cwd: serverDir, stdio: [0, 1, 2] }); ================================================ FILE: scripts/generate-maven-xsd.js ================================================ "use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; exports.__esModule = true; exports.generateMavenDef = void 0; var fs_1 = require("fs"); var path = require("path"); function generateMavenDef() { var schema = getSchema(); var dir = path.join(__dirname, '..', 'resources'); (0, fs_1.writeFileSync)(path.join(dir, "maven-4.0.0.xsd.json"), JSON.stringify(schema, null, 2)); // writeFileSync(path.join(dir, "maven-4.0.0.xsd-min.json"), JSON.stringify(schema, null)); return schema; } exports.generateMavenDef = generateMavenDef; var Documentation = /** @class */ (function () { function Documentation(version, description) { this.version = version; this.description = description; } return Documentation; }()); var M000 = "0.0.0+"; var M300 = "3.0.0+"; var M400 = "4.0.0+"; var DESC = { Parent: " The <parent> element contains information required to locate the parent project from which this project will inherit from. Note: The children of this element are not interpolated and must be given as literal values. ", Parent_groupId: "The group id of the parent project to inherit from.", Parent_artifactId: "The artifact id of the parent project to inherit from.", Parent_version: "The version of the parent project to inherit.", Parent_relativePath: " The relative path of the parent pom.xml file within the check out. If not specified, it defaults to ../pom.xml. Maven looks for the parent POM first in this location on the filesystem, then the local repository, and lastly in the remote repo. relativePath allows you to select a different location, for example when your structure is flat, or deeper without an intermediate parent POM. However, the group ID, artifact ID and version are still required, and must match the file in the location given or it will revert to the repository for the POM. This feature is only for enhancing the development in a local checkout of that project. Set the value to an empty string in case you want to disable the feature and always resolve the parent POM from the repositories. ", Organization: "Specifies the organization that produces this project.", Organization_name: "The full name of the organization.", Organization_url: "The URL to the organization's home page.", License: "Describes the licenses for this project. This is used to generate the license page of the project's web site, as well as being taken into consideration in other reporting and validation. The licenses listed for the project are that of the project itself, and not of dependencies.", License_name: "The full legal name of the license.", License_url: "The official url for the license text.", License_distribution: " The primary method by which this project may be distributed.
repo
may be downloaded from the Maven repository
manual
user must manually download and install the dependency.
", License_comments: "Addendum information pertaining to this license.", Developer: "Information about one of the committers on this project.", Developer_id: "The unique ID of the developer in the SCM.", Developer_name: "The full name of the contributor.", Developer_email: "The email address of the contributor.", Developer_url: "The URL for the homepage of the contributor.", Developer_organization: "The organization to which the contributor belongs.", Developer_organizationUrl: "The URL of the organization.", Developer_roles: " The roles the contributor plays in the project. Each role is described by a role element, the body of which is a role name. This can also be used to describe the contribution. ", Developer_timezone: " The timezone the contributor is in. Typically, this is a number in the range -12 to +14 or a valid time zone id like \"America/Montreal\" (UTC-05:00) or \"Europe/Paris\" (UTC+01:00). ", Developer_properties: "Properties about the contributor, such as an instant messenger handle.", Contributor: "Description of a person who has contributed to the project, but who does not have commit privileges. Usually, these contributions come in the form of patches submitted.", Contributor_name: "The full name of the contributor.", Contributor_email: "The email address of the contributor.", Contributor_url: "The URL for the homepage of the contributor.", Contributor_organization: "The organization to which the contributor belongs.", Contributor_organizationUrl: "The URL of the organization.", Contributor_roles: " The roles the contributor plays in the project. Each role is described by a role element, the body of which is a role name. This can also be used to describe the contribution. ", Contributor_timezone: " The timezone the contributor is in. Typically, this is a number in the range -12 to +14 or a valid time zone id like \"America/Montreal\" (UTC-05:00) or \"Europe/Paris\" (UTC+01:00). ", Contributor_properties: "Properties about the contributor, such as an instant messenger handle.", MailingList: "This element describes all of the mailing lists associated with a project. The auto-generated site references this information.", MailingList_name: " The name of the mailing list. ", MailingList_subscribe: " The email address or link that can be used to subscribe to the mailing list. If this is an email address, a mailto: link will automatically be created when the documentation is created. ", MailingList_unsubscribe: " The email address or link that can be used to unsubscribe to the mailing list. If this is an email address, a mailto: link will automatically be created when the documentation is created. ", MailingList_post: " The email address or link that can be used to post to the mailing list. If this is an email address, a mailto: link will automatically be created when the documentation is created. ", MailingList_archive: "The link to a URL where you can browse the mailing list archive.", MailingList_otherArchives: "The link to alternate URLs where you can browse the list archive.", Prerequisites: "Describes the prerequisites a project can have.", Prerequisites_maven: " For a plugin project (packaging is maven-plugin), the minimum version of Maven required to use the resulting plugin.
", Scm: " The <scm> element contains informations required to the SCM (Source Control Management) of the project. ", Scm_connection: " The source control management system URL that describes the repository and how to connect to the repository. For more information, see the URL format and list of supported SCMs. This connection is read-only.
Default value is: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if scm's child.scm.connection.inherit.append.path=\"false\"", Scm_developerConnection: " Just like connection, but for developers, i.e. this scm connection will not be read only.
Default value is: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if scm's child.scm.developerConnection.inherit.append.path=\"false\" ", Scm_tag: "The tag of current code. By default, it's set to HEAD during development.", Scm_url: " The URL to the project's browsable SCM repository, such as ViewVC or Fisheye.
Default value is: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if scm's child.scm.url.inherit.append.path=\"false\" ", Scm_childScmConnectionInheritAppendPath: " When children inherit from scm connection, append path or not? Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean
Default value is: true
Since: Maven 3.6.1 ", Scm_childScmDeveloperConnectionInheritAppendPath: " When children inherit from scm developer connection, append path or not? Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean
Default value is: true
Since: Maven 3.6.1 ", Scm_childScmUrlInheritAppendPath: " When children inherit from scm url, append path or not? Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean
Default value is: true
Since: Maven 3.6.1 ", IssueManagement: "Information about the issue tracking (or bug tracking) system used to manage this project.", IssueManagement_system: "The name of the issue management system, e.g. Bugzilla", IssueManagement_url: "URL for the issue management system used by the project.", CiManagement: " The <CiManagement> element contains informations required to the continuous integration system of the project. ", CiManagement_system: " The name of the continuous integration system, e.g. continuum. ", CiManagement_url: "URL for the continuous integration system used by the project if it has a web interface.", CiManagement_notifiers: "Configuration for notifying developers/users when a build is unsuccessful, including user information and notification mode.", DistributionManagement: "This elements describes all that pertains to distribution for a project. It is primarily used for deployment of artifacts and the site produced by the build.", DistributionManagement_repository: "Information needed to deploy the artifacts generated by the project to a remote repository.", DistributionManagement_snapshotRepository: " Where to deploy snapshots of artifacts to. If not given, it defaults to the repository element.", DistributionManagement_site: "Information needed for deploying the web site of the project.", DistributionManagement_downloadUrl: " The URL of the project's download page. If not given users will be referred to the homepage given by url. This is given to assist in locating artifacts that are not in the repository due to licensing restrictions. ", DistributionManagement_relocation: "Relocation information of the artifact if it has been moved to a new group ID and/or artifact ID.", DistributionManagement_status: " Gives the status of this artifact in the remote repository. This must not be set in your local project, as it is updated by tools placing it in the reposiory. Valid values are: none (default), converted (repository manager converted this from an Maven 1 POM), partner (directly synced from a partner Maven 2 repository), deployed (was deployed from a Maven 2 instance), verified (has been hand verified as correct and final). ", Notifier: "Configures one method for notifying users/developers when a build breaks.", Notifier_type: "The mechanism used to deliver notifications.", Notifier_sendOnError: "Whether to send notifications on error.", Notifier_sendOnFailure: "Whether to send notifications on failure.", Notifier_sendOnSuccess: "Whether to send notifications on success.", Notifier_sendOnWarning: "Whether to send notifications on warning.", Notifier_address: " Deprecated. Where to send the notification to - eg email address. ", Notifier_configuration: "Extended configuration specific to this notifier goes here.", Relocation: "Describes where an artifact has moved to. If any of the values are omitted, it is assumed to be the same as it was before.", Relocation_groupId: "The group ID the artifact has moved to.", Relocation_artifactId: "The new artifact ID of the artifact.", Relocation_version: "The new version of the artifact.", Relocation_message: "An additional message to show the user about the move, such as the reason.", DeploymentRepository: "Repository contains the information needed for deploying to the remote repository.", DependencyManagement: "Section for management of default dependency information for use in a group of POMs.", DependencyManagement_dependencies: "The dependencies specified here are not used until they are referenced in a POM within the group. This allows the specification of a \"standard\" version for a particular dependency.", Dependency: " The <dependency> element contains information about a dependency of the project. ", Dependency_groupId: " The project group that produced the dependency, e.g. org.apache.maven. ", Dependency_artifactId: " The unique id for an artifact produced by the project group, e.g. maven-artifact. ", Dependency_version: " The version of the dependency, e.g. 3.2.1. In Maven 2, this can also be specified as a range of versions. ", Dependency_type: " The type of dependency, that will be mapped to a file extension, an optional classifier, and a few other attributes. Some examples are jar, war, ejb-client and test-jar: see default artifact handlers for a list. New types can be defined by extensions, so this is not a complete list. ", Dependency_classifier: " The classifier of the dependency. It is appended to the filename after the version. This allows:
  • referring to attached artifact, for example sources and javadoc: see default artifact handlers for a list,
  • distinguishing two artifacts that belong to the same POM but were built differently. For example, jdk14 and jdk15.
", Dependency_scope: " The scope of the dependency - compile, runtime, test, system, and provided. Used to calculate the various classpaths used for compilation, testing, and so on. It also assists in determining which artifacts to include in a distribution of this project. For more information, see the dependency mechanism. The default scope is compile. ", Dependency_systemPath: " FOR SYSTEM SCOPE ONLY. Note that use of this property is discouraged and may be replaced in later versions. This specifies the path on the filesystem for this dependency. Requires an absolute path for the value, not relative. Use a property that gives the machine specific absolute path, e.g. ${java.home}. ", Dependency_exclusions: "Lists a set of artifacts that should be excluded from this dependency's artifact list when it comes to calculating transitive dependencies.", Dependency_optional: " Indicates the dependency is optional for use of this library. While the version of the dependency will be taken into account for dependency calculation if the library is used elsewhere, it will not be passed on transitively. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. ", Exclusion: " The <exclusion> element contains informations required to exclude an artifact to the project. ", Exclusion_artifactId: "The artifact ID of the project to exclude.", Exclusion_groupId: "The group ID of the project to exclude.", Site: "Contains the information needed for deploying websites.", Site_id: " A unique identifier for a deployment location. This is used to match the site to configuration in the settings.xml file, for example.", Site_name: "Human readable name of the deployment location.", Site_url: " The url of the location where website is deployed, in the form protocol://hostname/path.
Default value is: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if site's child.site.url.inherit.append.path=\"false\" ", Profile: "Modifications to the build process which is activated based on environmental parameters or command line arguments.", Profile_id: "The identifier of this build profile. This is used for command line activation, and identifies profiles to be merged. ", Profile_activation: "The conditional logic which will automatically trigger the inclusion of this profile.", Profile_build: "Information required to build the project.", Profile_modules: "The modules (sometimes called subprojects) to build as a part of this project. Each module listed is a relative path to the directory containing the module. To be consistent with the way default urls are calculated from parent, it is recommended to have module names match artifact ids.", Profile_distributionManagement: "Distribution information for a project that enables deployment of the site and artifacts to remote web servers and repositories respectively.", Profile_properties: " Properties that can be used throughout the POM as a substitution, and are used as filters in resources if enabled. The format is <name>value</name>. ", Profile_dependencyManagement: "Default dependency information for projects that inherit from this one. The dependencies in this section are not immediately resolved. Instead, when a POM derived from this one declares a dependency described by a matching groupId and artifactId, the version and other values from this section are used for that dependency if they were not already specified.", Profile_dependencies: " This element describes all of the dependencies associated with a project. These dependencies are used to construct a classpath for your project during the build process. They are automatically downloaded from the repositories defined in this project. See the dependency mechanism for more information. ", Profile_repositories: "The lists of the remote repositories for discovering dependencies and extensions.", Profile_pluginRepositories: "The lists of the remote repositories for discovering plugins for builds and reports.", Profile_reports: " Deprecated. Now ignored by Maven. ", Profile_reporting: " This element includes the specification of report plugins to use to generate the reports on the Maven-generated site. These reports will be run when a user executes mvn site. All of the reports will be included in the navigation bar for browsing. ", Repository: "A repository contains the information needed for establishing connections with remote repository.", Repository_releases: "How to handle downloading of releases from this repository.", Repository_snapshots: "How to handle downloading of snapshots from this repository.", Repository_id: " A unique identifier for a repository. This is used to match the repository to configuration in the settings.xml file, for example. Furthermore, the identifier is used during POM inheritance and profile injection to detect repositories that should be merged. ", Repository_name: "Human readable name of the repository.", Repository_url: " The url of the repository, in the form protocol://hostname/path. ", Repository_layout: " The type of layout this repository uses for locating and storing artifacts - can be legacy or default. ", Activation: "The conditions within the build runtime environment which will trigger the automatic inclusion of the build profile. Multiple conditions can be defined, which must be all satisfied to activate the profile.", Activation_activeByDefault: "If set to true, this profile will be active unless another profile in this pom is activated using the command line -P option or by one of that profile's activators.", Activation_jdk: " Specifies that this profile will be activated when a matching JDK is detected. For example, 1.4 only activates on JDKs versioned 1.4, while !1.4 matches any JDK that is not version 1.4. Ranges are supported too: [1.5,) activates when the JDK is 1.5 minimum. ", Activation_os: "Specifies that this profile will be activated when matching operating system attributes are detected.", Activation_property: "Specifies that this profile will be activated when this system property is specified.", Activation_file: "Specifies that this profile will be activated based on existence of a file.", Reporting: "Section for management of reports and their configuration.", Reporting_excludeDefaults: " If true, then the default reports are not included in the site generation. This includes the reports in the \"Project Info\" menu. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. ", Reporting_outputDirectory: " Where to store all of the generated reports. The default is ${project.build.directory}/site. ", Reporting_plugins: "The reporting plugins to use and their configuration.", ReportPlugin: " The <plugin> element contains informations required for a report plugin. ", ReportPlugin_groupId: "The group ID of the reporting plugin in the repository.", ReportPlugin_artifactId: "The artifact ID of the reporting plugin in the repository.", ReportPlugin_version: "The version of the reporting plugin to be used.", ReportPlugin_reportSets: " Multiple specifications of a set of reports, each having (possibly) different configuration. This is the reporting parallel to an execution in the build. ", ReportPlugin_inherited: " Whether any configuration should be propagated to child POMs. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. ", ReportPlugin_configuration: "

The configuration as DOM object.

By default, every element content is trimmed, but starting with Maven 3.1.0, you can add xml:space=\"preserve\" to elements you want to preserve whitespace.

You can control how child POMs inherit configuration from parent POMs by adding combine.children or combine.self attributes to the children of the configuration element:

  • combine.children: available values are merge (default) and append,
  • combine.self: available values are merge (default) and override.

See POM Reference documentation and Xpp3DomUtils for more information.

", ReportSet: "Represents a set of reports and configuration to be used to generate them.", ReportSet_id: "The unique id for this report set, to be used during POM inheritance and profile injection for merging of report sets. ", ReportSet_reports: "The list of reports from this plugin which should be generated from this set.", ReportSet_inherited: " Whether any configuration should be propagated to child POMs. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. ", ReportSet_configuration: "

The configuration as DOM object.

By default, every element content is trimmed, but starting with Maven 3.1.0, you can add xml:space=\"preserve\" to elements you want to preserve whitespace.

You can control how child POMs inherit configuration from parent POMs by adding combine.children or combine.self attributes to the children of the configuration element:

  • combine.children: available values are merge (default) and append,
  • combine.self: available values are merge (default) and override.

See POM Reference documentation and Xpp3DomUtils for more information.

", Build: " The <build> element contains informations required to build the project. Default values are defined in Super POM. ", Build_sourceDirectory: " This element specifies a directory containing the source of the project. The generated build system will compile the sources from this directory when the project is built. The path given is relative to the project descriptor. The default value is src/main/java. ", Build_scriptSourceDirectory: " This element specifies a directory containing the script sources of the project. This directory is meant to be different from the sourceDirectory, in that its contents will be copied to the output directory in most cases (since scripts are interpreted rather than compiled). The default value is src/main/scripts. ", Build_testSourceDirectory: " This element specifies a directory containing the unit test source of the project. The generated build system will compile these directories when the project is being tested. The path given is relative to the project descriptor. The default value is src/test/java. ", Build_outputDirectory: " The directory where compiled application classes are placed. The default value is target/classes. ", Build_testOutputDirectory: " The directory where compiled test classes are placed. The default value is target/test-classes. ", Build_extensions: "A set of build extensions to use from this project.", Build_defaultGoal: "The default goal (or phase in Maven 2) to execute when none is specified for the project. Note that in case of a multi-module build, only the default goal of the top-level project is relevant, i.e. the default goals of child modules are ignored. Since Maven 3, multiple goals/phases can be separated by whitespace.", Build_resources: " This element describes all of the classpath resources such as properties files associated with a project. These resources are often included in the final package. The default value is src/main/resources. ", Build_testResources: " This element describes all of the classpath resources such as properties files associated with a project's unit tests. The default value is src/test/resources. ", Build_directory: " The directory where all files generated by the build are placed. The default value is target. ", Build_finalName: " The filename (excluding the extension, and with no path information) that the produced artifact will be called. The default value is ${artifactId}-${version}. ", Build_filters: "The list of filter properties files that are used when filtering is enabled.", Build_pluginManagement: "Default plugin information to be made available for reference by projects derived from this one. This plugin configuration will not be resolved or bound to the lifecycle unless referenced. Any local configuration for a given plugin will override the plugin's entire definition here.", Build_plugins: "The list of plugins to use.", BuildBase: "Generic informations for a build.", BuildBase_defaultGoal: "The default goal (or phase in Maven 2) to execute when none is specified for the project. Note that in case of a multi-module build, only the default goal of the top-level project is relevant, i.e. the default goals of child modules are ignored. Since Maven 3, multiple goals/phases can be separated by whitespace.", BuildBase_resources: " This element describes all of the classpath resources such as properties files associated with a project. These resources are often included in the final package. The default value is src/main/resources. ", BuildBase_testResources: " This element describes all of the classpath resources such as properties files associated with a project's unit tests. The default value is src/test/resources. ", BuildBase_directory: " The directory where all files generated by the build are placed. The default value is target. ", BuildBase_finalName: " The filename (excluding the extension, and with no path information) that the produced artifact will be called. The default value is ${artifactId}-${version}. ", BuildBase_filters: "The list of filter properties files that are used when filtering is enabled.", BuildBase_pluginManagement: "Default plugin information to be made available for reference by projects derived from this one. This plugin configuration will not be resolved or bound to the lifecycle unless referenced. Any local configuration for a given plugin will override the plugin's entire definition here.", BuildBase_plugins: "The list of plugins to use.", Extension: "Describes a build extension to utilise.", Extension_groupId: "The group ID of the extension's artifact.", Extension_artifactId: "The artifact ID of the extension.", Extension_version: "The version of the extension.", Resource: "This element describes all of the classpath resources associated with a project or unit tests.", Resource_targetPath: " Describe the resource target path. The path is relative to the target/classes directory (i.e. ${project.build.outputDirectory}). For example, if you want that resource to appear in a specific package (org.apache.maven.messages), you must specify this element with this value: org/apache/maven/messages. This is not required if you simply put the resources in that directory structure at the source, however. ", Resource_filtering: " Whether resources are filtered to replace tokens with parameterised values or not. The values are taken from the properties element and from the properties in the files listed in the filters element. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. ", Resource_directory: "Describe the directory where the resources are stored. The path is relative to the POM.", Resource_includes: " A list of patterns to include, e.g. **/*.xml. ", Resource_excludes: " A list of patterns to exclude, e.g. **/*.xml ", PluginManagement: "Section for management of default plugin information for use in a group of POMs. ", PluginManagement_plugins: "The list of plugins to use.", Plugin: " The <plugin> element contains informations required for a plugin. ", Plugin_groupId: "The group ID of the plugin in the repository.", Plugin_artifactId: "The artifact ID of the plugin in the repository.", Plugin_version: "The version (or valid range of versions) of the plugin to be used.", Plugin_extensions: " Whether to load Maven extensions (such as packaging and type handlers) from this plugin. For performance reasons, this should only be enabled when necessary. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. ", Plugin_executions: "Multiple specifications of a set of goals to execute during the build lifecycle, each having (possibly) a different configuration.", Plugin_dependencies: "Additional dependencies that this project needs to introduce to the plugin's classloader.", Plugin_goals: " Deprecated. Unused by Maven. ", Plugin_inherited: " Whether any configuration should be propagated to child POMs. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. ", Plugin_configuration: "

The configuration as DOM object.

By default, every element content is trimmed, but starting with Maven 3.1.0, you can add xml:space=\"preserve\" to elements you want to preserve whitespace.

You can control how child POMs inherit configuration from parent POMs by adding combine.children or combine.self attributes to the children of the configuration element:

  • combine.children: available values are merge (default) and append,
  • combine.self: available values are merge (default) and override.

See POM Reference documentation and Xpp3DomUtils for more information.

", PluginExecution: " The <execution> element contains informations required for the execution of a plugin. ", PluginExecution_id: "The identifier of this execution for labelling the goals during the build, and for matching executions to merge during inheritance and profile injection.", PluginExecution_phase: "The build lifecycle phase to bind the goals in this execution to. If omitted, the goals will be bound to the default phase specified by the plugin.", PluginExecution_goals: "The goals to execute with the given configuration.", PluginExecution_inherited: " Whether any configuration should be propagated to child POMs. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. ", PluginExecution_configration: "

The configuration as DOM object.

By default, every element content is trimmed, but starting with Maven 3.1.0, you can add xml:space=\"preserve\" to elements you want to preserve whitespace.

You can control how child POMs inherit configuration from parent POMs by adding combine.children or combine.self attributes to the children of the configuration element:

  • combine.children: available values are merge (default) and append,
  • combine.self: available values are merge (default) and override.

See POM Reference documentation and Xpp3DomUtils for more information.

", ActivationProperty: "This is the property specification used to activate a profile. If the value field is empty, then the existence of the named property will activate the profile, otherwise it does a case-sensitive match against the property value as well.", ActivationProperty_name: "The name of the property to be used to activate a profile.", ActivationProperty_value: "The value of the property required to activate a profile.", ActivationFile: "This is the file specification used to activate the profile. The missing value is the location of a file that needs to exist, and if it doesn't, the profile will be activated. On the other hand, exists will test for the existence of the file and if it is there, the profile will be activated.
Variable interpolation for these file specifications is limited to ${basedir}, System properties and request properties.", ActivationFile_missing: "The name of the file that must be missing to activate the profile.", ActivationFile_exists: "The name of the file that must exist to activate the profile.", ActivationOS: "This is an activator which will detect an operating system's attributes in order to activate its profile.", ActivationOS_name: " The name of the operating system to be used to activate the profile. This must be an exact match of the ${os.name} Java property, such as Windows XP. ", ActivationOS_family: " The general family of the OS to be used to activate the profile, such as windows or unix. ", ActivationOS_arch: "The architecture of the operating system to be used to activate the profile.", ActivationOS_version: "The version of the operating system to be used to activate the profile.", RepositoryPolicy: "Download policy.", RepositoryPolicy_enabled: " Whether to use this repository for downloading this type of artifact. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. ", RepositoryPolicy_updatePolicy: " The frequency for downloading updates - can be always, daily (default), interval:XXX (in minutes) or never (only if it doesn't exist locally). ", RepositoryPolicy_checksumPolicy: " What to do when verification of an artifact checksum fails. Valid values are ignore , fail or warn (the default).", // project project: " The <project> element is the root of the descriptor. The following table lists all of the possible child elements. ", project_modelVersion: "Declares to which version of project descriptor this POM conforms.", project_parent: "The location of the parent project, if one exists. Values from the parent project will be the default for this project if they are left unspecified. The location is given as a group ID, artifact ID and version.", project_groupId: " A universally unique identifier for a project. It is normal to use a fully-qualified package name to distinguish it from other projects with a similar name (eg. org.apache.maven). ", project_artifactId: "The identifier for this artifact that is unique within the group given by the group ID. An artifact is something that is either produced or used by a project. Examples of artifacts produced by Maven for a project include: JARs, source and binary distributions, and WARs.", project_version: "The current version of the artifact produced by this project.", project_packaging: " The type of artifact this project produces, for example jar war ear pom. Plugins can create their own packaging, and therefore their own packaging types, so this list does not contain all possible types. ", project_name: "The full name of the project.", project_description: "A detailed description of the project, used by Maven whenever it needs to describe the project, such as on the web site. While this element can be specified as CDATA to enable the use of HTML tags within the description, it is discouraged to allow plain text representation. If you need to modify the index page of the generated web site, you are able to specify your own instead of adjusting this text.", project_url: " The URL to the project's homepage.
Default value is: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if project's child.project.url.inherit.append.path=\"false\" ", project_inceptionYear: "The year of the project's inception, specified with 4 digits. This value is used when generating copyright notices as well as being informational.", project_organization: "This element describes various attributes of the organization to which the project belongs. These attributes are utilized when documentation is created (for copyright notices and links).", project_licenses: " This element describes all of the licenses for this project. Each license is described by a license element, which is then described by additional elements. Projects should only list the license(s) that applies to the project and not the licenses that apply to dependencies. If multiple licenses are listed, it is assumed that the user can select any of them, not that they must accept all. ", project_licenses_license: " This element describes all of the licenses for this project. Each license is described by a license element, which is then described by additional elements. Projects should only list the license(s) that applies to the project and not the licenses that apply to dependencies. If multiple licenses are listed, it is assumed that the user can select any of them, not that they must accept all. ", project_developers: "Describes the committers of a project.", project_contributors: "Describes the contributors to a project that are not yet committers.", project_mailingLists: "Contains information about a project's mailing lists.", project_prerequisites: "Describes the prerequisites in the build environment for this project.", project_modules: "The modules (sometimes called subprojects) to build as a part of this project. Each module listed is a relative path to the directory containing the module. To be consistent with the way default urls are calculated from parent, it is recommended to have module names match artifact ids.", project_scm: "Specification for the SCM used by the project, such as CVS, Subversion, etc.", project_issueManagement: "The project's issue management system information.", project_ciManagement: "The project's continuous integration information.", project_distributionManagement: "Distribution information for a project that enables deployment of the site and artifacts to remote web servers and repositories respectively.", project_properties: " Properties that can be used throughout the POM as a substitution, and are used as filters in resources if enabled. The format is <name>value</name>. ", project_dependencyManagement: "Default dependency information for projects that inherit from this one. The dependencies in this section are not immediately resolved. Instead, when a POM derived from this one declares a dependency described by a matching groupId and artifactId, the version and other values from this section are used for that dependency if they were not already specified.", project_dependencies: " This element describes all of the dependencies associated with a project. These dependencies are used to construct a classpath for your project during the build process. They are automatically downloaded from the repositories defined in this project. See the dependency mechanism for more information. ", project_repositories: "The lists of the remote repositories for discovering dependencies and extensions.", project_pluginRepositories: "The lists of the remote repositories for discovering plugins for builds and reports.", project_build: "Information required to build the project.", project_reports: " Deprecated. Now ignored by Maven. ", project_reporting: " This element includes the specification of report plugins to use to generate the reports on the Maven-generated site. These reports will be run when a user executes mvn site. All of the reports will be included in the navigation bar for browsing. ", project_profiles: "A listing of project-local build profiles which will modify the build process when activated." }; // Converted from https://maven.apache.org/xsd/maven-4.0.0.xsd var getSchema = function () { return { project: { $type: "Model", $documentation: new Documentation(M300, DESC.project), modelVersion: stringElement(M400, DESC.project_modelVersion), parent: Parent(M400, DESC.project_parent), groupId: stringElement(M300, DESC.project_groupId), artifactId: stringElement(M300, DESC.project_artifactId), version: stringElement(M400, DESC.project_version), packaging: stringElement(M400, DESC.project_packaging, "jar"), name: stringElement(M300, DESC.project_name), description: stringElement(M300, DESC.project_description), url: stringElement(M300, DESC.project_url), inceptionYear: stringElement(M300, DESC.project_inceptionYear), organization: Organization(M300, DESC.project_organization), licenses: complexTypeElement(M300, DESC.project_licenses, { license: License(M300, DESC.project_licenses_license) }), developers: complexTypeElement(M300, DESC.project_developers, { developer: Developer() }), contributors: complexTypeElement(M300, DESC.project_contributors, { contributor: Contributor() }), mailingLists: complexTypeElement(M300, DESC.project_mailingLists, { mailingList: MailingList() }), prerequisites: Prerequisites(M400, DESC.project_prerequisites), modules: complexTypeElement(M400, DESC.project_modules, { module: stringElement() }), scm: Scm(M400, DESC.project_scm), issueManagement: IssueManagement(M400, DESC.project_issueManagement), ciManagement: CiManagement(M400, DESC.project_ciManagement), distributionManagement: DistributionManagement(M400, DESC.project_distributionManagement), properties: complexTypeElement(M400, DESC.project_properties), dependencyManagement: DependencyManagement(M400, DESC.project_dependencyManagement), dependencies: complexTypeElement(M300, DESC.project_dependencies, { dependency: Dependency() }), repositories: complexTypeElement(M400, DESC.project_repositories, { repository: Repository() }), pluginRepositories: complexTypeElement(M400, DESC.project_pluginRepositories, { pluginRepository: Repository() }), build: Build(M300, DESC.project_build), reports: __assign(__assign({}, complexTypeElement(M400, DESC.project_reports)), { $deprecated: true }), reporting: Reporting(M400, DESC.project_reporting), profiles: complexTypeElement(M400, DESC.project_profiles, { profile: Profile() }) } }; }; function booleanElement(version, description, _default) { return { $type: "xs:string", $documentation: new Documentation(version, description), $default: _default }; } function stringElement(version, description, _default) { return { $type: "xs:string", $documentation: new Documentation(version, description), $default: _default }; } function deprecatedElement(version, description) { return { $type: "xs:deprecated", $documentation: new Documentation(version, description), $deprecated: true }; } function complexTypeElement(version, description, children, typeName) { if (children === void 0) { children = {}; } if (typeName === void 0) { typeName = "complexType"; } return __assign({ $type: typeName, $documentation: new Documentation(version, description) }, children); } function Parent(version, description) { return { $type: "Parent", $documentation: new Documentation(version !== null && version !== void 0 ? version : M400, description !== null && description !== void 0 ? description : DESC.Parent), groupId: stringElement(M400, DESC.Parent_groupId), artifactId: stringElement(M400, DESC.Parent_artifactId), version: stringElement(M400, DESC.Parent_version), relativePath: stringElement(M400, DESC.Parent_relativePath) }; } function Organization(version, description) { return { $type: "Organization", $documentation: new Documentation(version !== null && version !== void 0 ? version : M300, description !== null && description !== void 0 ? description : DESC.Organization), name: stringElement(M300, DESC.Organization_name), url: stringElement(M300, DESC.Organization_url) }; } function License(version, description) { return { $type: "License", $documentation: new Documentation(version !== null && version !== void 0 ? version : M300, description !== null && description !== void 0 ? description : DESC.License), name: stringElement(M300, DESC.License_name), url: stringElement(M300, DESC.License_url), distribution: stringElement(M300, DESC.License_distribution), comments: stringElement(M300, DESC.License_comments) }; } function Developer(version, description) { return { $type: "Developer", $documentation: new Documentation(version !== null && version !== void 0 ? version : M300, description !== null && description !== void 0 ? description : DESC.Developer), id: stringElement(M300, DESC.Developer_id), name: stringElement(M300, DESC.Developer_name), email: stringElement(M300, DESC.Developer_email), url: stringElement(M300, DESC.Developer_url), organization: stringElement(M300, DESC.Developer_organization), organizationUrl: stringElement(M300, DESC.Developer_organizationUrl), roles: stringElement(M300, DESC.Developer_roles), timezone: stringElement(M300, DESC.Developer_timezone), properties: stringElement(M300, DESC.Developer_properties) }; } function Contributor(version, description) { return { $type: "Contributor", $documentation: new Documentation(version !== null && version !== void 0 ? version : M300, description !== null && description !== void 0 ? description : DESC.Contributor), name: stringElement(M300, DESC.Contributor_name), email: stringElement(M300, DESC.Contributor_email), url: stringElement(M300, DESC.Contributor_url), organization: stringElement(M300, DESC.Contributor_organization), organizationUrl: stringElement(M300, DESC.Contributor_organizationUrl), roles: stringElement(M300, DESC.Contributor_roles), timezone: stringElement(M300, DESC.Contributor_timezone), properties: complexTypeElement(M300, DESC.Contributor_properties, {}) }; } function MailingList(version, description) { return { $type: "MailingList", $documentation: new Documentation(version !== null && version !== void 0 ? version : M300, description !== null && description !== void 0 ? description : DESC.MailingList), name: stringElement(M300, DESC.MailingList_name), subscribe: stringElement(M300, DESC.MailingList_subscribe), unsubscribe: stringElement(M300, DESC.MailingList_unsubscribe), post: stringElement(M300, DESC.MailingList_post), archive: stringElement(M300, DESC.MailingList_archive), otherArchives: complexTypeElement(M300, DESC.MailingList_otherArchives, { otherArchive: stringElement() }) }; } function Prerequisites(version, description) { return { $type: "Prerequisites", $documentation: new Documentation(version !== null && version !== void 0 ? version : M400, description !== null && description !== void 0 ? description : DESC.Prerequisites), maven: stringElement(M400, DESC.Prerequisites_maven, "2.0") }; } function Scm(version, description) { return { $type: "Scm", $documentation: new Documentation(version !== null && version !== void 0 ? version : M400, description !== null && description !== void 0 ? description : DESC.Scm), maven: stringElement(M400, DESC.Prerequisites_maven, "2.0"), connection: stringElement(M400, DESC.Scm_connection), developerConnection: stringElement(M400, DESC.Scm_developerConnection), tag: stringElement(M400, DESC.Scm_tag, "HEAD"), url: stringElement(M400, DESC.Scm_url), childScmConnectionInheritAppendPath: stringElement(M400, DESC.Scm_childScmConnectionInheritAppendPath), childScmDeveloperConnectionInheritAppendPath: stringElement(M400, DESC.Scm_childScmDeveloperConnectionInheritAppendPath), childScmUrlInheritAppendPath: stringElement(M400, DESC.Scm_childScmUrlInheritAppendPath) }; } function IssueManagement(version, description) { return { $type: "IssueManagement", $documentation: new Documentation(version !== null && version !== void 0 ? version : M400, description !== null && description !== void 0 ? description : DESC.IssueManagement), system: stringElement(M400, DESC.IssueManagement_system), url: stringElement(M400, DESC.IssueManagement_url) }; } function CiManagement(version, description) { return { $type: "CiManagement", $documentation: new Documentation(version !== null && version !== void 0 ? version : M400, description !== null && description !== void 0 ? description : DESC.CiManagement), system: stringElement(M400, DESC.CiManagement_system), url: stringElement(M400, DESC.CiManagement_url), notifiers: complexTypeElement(M400, DESC.CiManagement_notifiers, { notifier: Notifier() }) }; } function DistributionManagement(version, description) { return { $type: "DistributionManagement", $documentation: new Documentation(version !== null && version !== void 0 ? version : M400, description !== null && description !== void 0 ? description : DESC.DistributionManagement), repository: DeploymentRepository(M400, DESC.DistributionManagement_repository), snapshotRepository: DeploymentRepository(M400, DESC.DistributionManagement_snapshotRepository), site: Site(M400, DESC.DistributionManagement_site), downloadUrl: stringElement(M400, DESC.DistributionManagement_downloadUrl), relocation: Relocation(M400, DESC.DistributionManagement_relocation), status: stringElement(M400, DESC.DistributionManagement_status) }; } function Notifier() { return { $type: "Notifier", $documentation: new Documentation(M400, DESC.Notifier), type: stringElement(M400, DESC.Notifier_type, "mail"), sendOnError: stringElement(M400, DESC.Notifier_sendOnError, "true"), sendOnFailure: stringElement(M400, DESC.Notifier_sendOnFailure, "true"), sendOnSuccess: stringElement(M400, DESC.Notifier_sendOnSuccess, "true"), sendOnWarning: stringElement(M400, DESC.Notifier_sendOnWarning, "true"), address: stringElement(M400, DESC.Notifier_address), configuration: complexTypeElement(M000, DESC.Notifier_configuration, {}) }; } function DeploymentRepository(version, description) { return { $type: "DeploymentRepository", $documentation: new Documentation(version !== null && version !== void 0 ? version : M400, description !== null && description !== void 0 ? description : DESC.DeploymentRepository) }; } function Relocation(version, description) { return { $type: "Relocation", $documentation: new Documentation(version !== null && version !== void 0 ? version : M400, description !== null && description !== void 0 ? description : DESC.Relocation), groupId: stringElement(M400, DESC.Relocation_groupId), artifactId: stringElement(M400, DESC.Relocation_artifactId), version: stringElement(M400, DESC.Relocation_version), message: stringElement(M400, DESC.Relocation_message) }; } function Site(version, description) { return { $type: "Site", $documentation: new Documentation(version !== null && version !== void 0 ? version : M400, description !== null && description !== void 0 ? description : DESC.Site), id: stringElement(M400, DESC.Site_id), name: stringElement(M400, DESC.Site_name), url: stringElement(M400, DESC.Site_url) }; } function DependencyManagement(version, description) { return { $type: "DependencyManagement", $documentation: new Documentation(version !== null && version !== void 0 ? version : M400, description !== null && description !== void 0 ? description : DESC.DependencyManagement), dependencies: complexTypeElement(M400, DESC.DependencyManagement_dependencies, { dependency: Dependency() }) }; } function Dependency() { return { $type: "Dependency", $documentation: new Documentation(M300, DESC.Dependency), groupId: stringElement(M300, DESC.Dependency_groupId), artifactId: stringElement(M300, DESC.Dependency_artifactId), version: stringElement(M300, DESC.Dependency_version), type: stringElement(M400, DESC.Dependency_type), classifier: stringElement(M400, DESC.Dependency_classifier), scope: stringElement(M400, DESC.Dependency_scope), systemPath: stringElement(M400, DESC.Dependency_systemPath), exclusions: complexTypeElement(M400, DESC.Dependency_exclusions, { exclusion: Exclusion() }), optional: stringElement(M400, DESC.Dependency_optional) }; } function Exclusion() { return { $type: "Exclusion", $documentation: new Documentation(M400, DESC.Exclusion), artifactId: stringElement(M400, DESC.Exclusion_artifactId), groupId: stringElement(M400, DESC.Exclusion_groupId) }; } function Build(version, description) { return { $type: "Build", $documentation: new Documentation(version !== null && version !== void 0 ? version : M300, description !== null && description !== void 0 ? description : DESC.Build), sourceDirectory: stringElement(M300, DESC.Build_sourceDirectory), scriptSourceDirectory: stringElement(M400, DESC.Build_scriptSourceDirectory), testSourceDirectory: stringElement(M400, DESC.Build_testSourceDirectory), outputDirectory: stringElement(M400, DESC.Build_outputDirectory), testOutputDirectory: stringElement(M400, DESC.Build_testOutputDirectory), extensions: complexTypeElement(M400, DESC.Build_extensions, { extension: Extension() }), defaultGoal: stringElement(M300, DESC.Build_defaultGoal), resources: complexTypeElement(M300, DESC.Build_resources, { resource: Resource() }), testResources: complexTypeElement(M400, DESC.Build_testResources, { resource: Resource() }), directory: stringElement(M400, DESC.Build_directory), finalName: stringElement(M400, DESC.Build_finalName), filters: complexTypeElement(M400, DESC.Build_filters, { filter: stringElement() }), pluginManagement: PluginManagement(M400, DESC.Build_pluginManagement), plugins: complexTypeElement(M400, DESC.Build_plugins, { plugin: Plugin() }) }; } function Reporting(version, description) { return { $type: "Reporting", $documentation: new Documentation(version !== null && version !== void 0 ? version : M400, description !== null && description !== void 0 ? description : DESC.Reporting), excludeDefaults: stringElement(M400, DESC.Reporting_excludeDefaults), outputDirectory: stringElement(M400, DESC.Reporting_outputDirectory), plugins: complexTypeElement(M400, DESC.Reporting_plugins, { plugin: ReportPlugin() }) }; } function Profile() { return { $type: "Profile", $documentation: new Documentation(M400, DESC.Profile), id: stringElement(M400, DESC.Profile_id, "default"), activation: Activation(M400, DESC.Profile_activation), build: BuildBase(M400, DESC.Profile_build), modules: complexTypeElement(M400, DESC.Profile_modules, { module: stringElement() }), distributionManagement: DistributionManagement(M400, DESC.Profile_distributionManagement), properties: complexTypeElement(M400, DESC.Profile_properties), dependencyManagement: DependencyManagement(M400, DESC.Profile_dependencyManagement), dependencies: complexTypeElement(M300, DESC.Profile_dependencies, { dependency: Dependency() }), repositories: complexTypeElement(M400, DESC.Profile_repositories, { repository: Repository() }), pluginRepositories: complexTypeElement(M400, DESC.Profile_pluginRepositories, { repository: Repository() }), reports: complexTypeElement(M400, DESC.Profile_reports), reporting: Reporting(M400, DESC.Profile_reporting) }; } function Repository() { return { $type: "Repository", $documentation: new Documentation(M400, DESC.Repository), releases: RepositoryPolicy(M400, DESC.Repository_releases), snapshots: RepositoryPolicy(M400, DESC.Repository_snapshots), id: stringElement(M400, DESC.Repository_id), name: stringElement(M400, DESC.Repository_name), url: stringElement(M400, DESC.Repository_url), layout: stringElement(M400, DESC.Repository_layout, "default") }; } function Activation(version, description) { return { $type: "Activation", $documentation: new Documentation(version !== null && version !== void 0 ? version : M400, description !== null && description !== void 0 ? description : DESC.Activation), activeByDefault: booleanElement(M400, DESC.Activation_activeByDefault, "false"), jdk: stringElement(M400, DESC.Activation_jdk), os: ActivationOS(M400, DESC.Activation_os), property: ActivationProperty(M400, DESC.Activation_property), file: ActivationFile(M400, DESC.Activation_file) }; } function BuildBase(version, description) { return { $type: "BuildBase", $documentation: new Documentation(version !== null && version !== void 0 ? version : M300, description !== null && description !== void 0 ? description : DESC.BuildBase), defaultGoal: stringElement(M400, DESC.BuildBase_defaultGoal), resources: complexTypeElement(M400, DESC.BuildBase_resources, { resource: Resource() }), testResources: complexTypeElement(M400, DESC.BuildBase_testResources, { testResource: Resource() }), directory: stringElement(M400, DESC.BuildBase_directory), finalName: stringElement(M400, DESC.BuildBase_finalName), filters: complexTypeElement(M400, DESC.BuildBase_filters, { filter: stringElement() }), pluginManagement: PluginManagement(M400, DESC.BuildBase_pluginManagement), plugins: complexTypeElement(M400, DESC.BuildBase_plugins, { plugin: Plugin() }) }; } function RepositoryPolicy(version, description) { return { $type: "RepositoryPolicy", $documentation: new Documentation(version !== null && version !== void 0 ? version : M400, description !== null && description !== void 0 ? description : DESC.RepositoryPolicy), enabled: stringElement(M400, DESC.RepositoryPolicy_enabled), updatePolicy: stringElement(M400, DESC.RepositoryPolicy_updatePolicy), checksumPolicy: stringElement(M400, DESC.RepositoryPolicy_checksumPolicy) }; } function ReportPlugin() { return { $type: "ReportPlugin", $documentation: new Documentation(M400, DESC.ReportPlugin), groupId: stringElement(M400, DESC.ReportPlugin_groupId), artifactId: stringElement(M400, DESC.ReportPlugin_artifactId), version: stringElement(M400, DESC.ReportPlugin_version), reportSets: complexTypeElement(M400, DESC.ReportPlugin_reportSets, { reportSet: ReportSet() }), inherited: stringElement(M400, DESC.ReportPlugin_inherited), configuration: complexTypeElement(M400, DESC.ReportPlugin_configuration) }; } function ReportSet() { return { $type: "ReportSet", $documentation: new Documentation(M400, DESC.ReportSet), id: stringElement(M000, DESC.ReportSet_id, "default"), reports: complexTypeElement(M400, DESC.ReportSet_reports, { report: stringElement() }), inherited: stringElement(M400, DESC.ReportSet_inherited), configuration: complexTypeElement(M400, DESC.ReportSet_configuration) }; } function Extension() { return { $type: "Extension", $documentation: new Documentation(M400, DESC.Extension), groupId: stringElement(M400, DESC.Extension_groupId), artifactId: stringElement(M400, DESC.Extension_artifactId), version: stringElement(M400, DESC.Extension_version) }; } function Resource() { return { $type: "Resource", $documentation: new Documentation(M300, DESC.Resource), targetPath: stringElement(M300, DESC.Resource_targetPath), filtering: stringElement(M300, DESC.Resource_filtering), directory: stringElement(M300, DESC.Resource_directory), includes: complexTypeElement(M300, DESC.Resource_includes, { include: stringElement() }), excludes: complexTypeElement(M300, DESC.Resource_excludes, { exclude: stringElement() }) }; } function PluginManagement(version, description) { return { $type: "PluginManagement", $documentation: new Documentation(version !== null && version !== void 0 ? version : M400, description !== null && description !== void 0 ? description : DESC.PluginManagement), plugins: complexTypeElement(M400, DESC.PluginManagement_plugins, { plugin: Plugin() }) }; } function Plugin() { return { $type: "Plugin", $documentation: new Documentation(M400, DESC.Plugin), groupId: stringElement(M400, DESC.Plugin_groupId, "org.apache.maven.plugins"), artifactId: stringElement(M400, DESC.Plugin_artifactId), version: stringElement(M400, DESC.Plugin_version), extensions: stringElement(M400, DESC.Plugin_extensions), executions: complexTypeElement(M400, DESC.Plugin_executions, { execution: PluginExecution() }), dependencies: complexTypeElement(M400, DESC.Plugin_dependencies, { dependency: Dependency() }), goals: deprecatedElement(M400, DESC.Plugin_goals), inherited: stringElement(M400, DESC.Plugin_inherited), configuration: complexTypeElement(M000, DESC.Plugin_configuration) }; } function PluginExecution() { return { $type: "PluginExecution", $documentation: new Documentation(M400, DESC.PluginExecution), id: stringElement(M400, DESC.PluginExecution_id), phase: stringElement(M400, DESC.PluginExecution_phase), goals: complexTypeElement(M400, DESC.PluginExecution_goals, { goal: stringElement() }), inherited: stringElement(M400, DESC.PluginExecution_inherited), configuration: complexTypeElement(M000, DESC.PluginExecution_configration) }; } function ActivationProperty(version, description) { return { $type: "ActivationProperty", $documentation: new Documentation(version !== null && version !== void 0 ? version : M400, description !== null && description !== void 0 ? description : DESC.ActivationProperty), name: stringElement(M400, DESC.ActivationProperty_name), value: stringElement(M400, DESC.ActivationProperty_value) }; } function ActivationFile(version, description) { return { $type: "ActivationProperty", $documentation: new Documentation(version !== null && version !== void 0 ? version : M400, description !== null && description !== void 0 ? description : DESC.ActivationFile), missing: stringElement(M400, DESC.ActivationFile_missing), exists: stringElement(M400, DESC.ActivationFile_exists) }; } function ActivationOS(version, description) { return { $type: "ActivationOS", $documentation: new Documentation(version !== null && version !== void 0 ? version : M400, description !== null && description !== void 0 ? description : DESC.ActivationOS), name: stringElement(M400, DESC.ActivationOS_name), family: stringElement(M400, DESC.ActivationOS_family), arch: stringElement(M400, DESC.ActivationOS_arch), version: stringElement(M400, DESC.ActivationOS_version) }; } // Execute generateMavenDef(); ================================================ FILE: scripts/generate-maven-xsd.ts ================================================ import { writeFileSync } from "fs"; import * as path from "path"; import * as _ from "lodash"; export function generateMavenDef() { const schema = getSchema(); const dir = path.join(__dirname, '..', 'resources'); writeFileSync(path.join(dir, "maven-4.0.0.xsd.json"), JSON.stringify(schema, null, 2)); // writeFileSync(path.join(dir, "maven-4.0.0.xsd-min.json"), JSON.stringify(schema, null)); return schema; } class Documentation { constructor(public version?: string, public description?: string) { } } const M000 = "0.0.0+"; const M300 = "3.0.0+"; const M400 = "4.0.0+"; const DESC = { Parent: " The <parent> element contains information required to locate the parent project from which this project will inherit from. Note: The children of this element are not interpolated and must be given as literal values. ", Parent_groupId: "The group id of the parent project to inherit from.", Parent_artifactId: "The artifact id of the parent project to inherit from.", Parent_version: "The version of the parent project to inherit.", Parent_relativePath: " The relative path of the parent pom.xml file within the check out. If not specified, it defaults to ../pom.xml. Maven looks for the parent POM first in this location on the filesystem, then the local repository, and lastly in the remote repo. relativePath allows you to select a different location, for example when your structure is flat, or deeper without an intermediate parent POM. However, the group ID, artifact ID and version are still required, and must match the file in the location given or it will revert to the repository for the POM. This feature is only for enhancing the development in a local checkout of that project. Set the value to an empty string in case you want to disable the feature and always resolve the parent POM from the repositories. ", Organization: "Specifies the organization that produces this project.", Organization_name: "The full name of the organization.", Organization_url: "The URL to the organization's home page.", License: "Describes the licenses for this project. This is used to generate the license page of the project's web site, as well as being taken into consideration in other reporting and validation. The licenses listed for the project are that of the project itself, and not of dependencies.", License_name: "The full legal name of the license.", License_url: "The official url for the license text.", License_distribution: " The primary method by which this project may be distributed.
repo
may be downloaded from the Maven repository
manual
user must manually download and install the dependency.
", License_comments: "Addendum information pertaining to this license.", Developer: "Information about one of the committers on this project.", Developer_id: "The unique ID of the developer in the SCM.", Developer_name: "The full name of the contributor.", Developer_email: "The email address of the contributor.", Developer_url: "The URL for the homepage of the contributor.", Developer_organization: "The organization to which the contributor belongs.", Developer_organizationUrl: "The URL of the organization.", Developer_roles: " The roles the contributor plays in the project. Each role is described by a role element, the body of which is a role name. This can also be used to describe the contribution. ", Developer_timezone: ` The timezone the contributor is in. Typically, this is a number in the range -12 to +14 or a valid time zone id like "America/Montreal" (UTC-05:00) or "Europe/Paris" (UTC+01:00). `, Developer_properties: "Properties about the contributor, such as an instant messenger handle.", Contributor: "Description of a person who has contributed to the project, but who does not have commit privileges. Usually, these contributions come in the form of patches submitted.", Contributor_name: "The full name of the contributor.", Contributor_email: "The email address of the contributor.", Contributor_url: "The URL for the homepage of the contributor.", Contributor_organization: "The organization to which the contributor belongs.", Contributor_organizationUrl: "The URL of the organization.", Contributor_roles: " The roles the contributor plays in the project. Each role is described by a role element, the body of which is a role name. This can also be used to describe the contribution. ", Contributor_timezone: ` The timezone the contributor is in. Typically, this is a number in the range -12 to +14 or a valid time zone id like "America/Montreal" (UTC-05:00) or "Europe/Paris" (UTC+01:00). `, Contributor_properties: "Properties about the contributor, such as an instant messenger handle.", MailingList: "This element describes all of the mailing lists associated with a project. The auto-generated site references this information.", MailingList_name: " The name of the mailing list. ", MailingList_subscribe: " The email address or link that can be used to subscribe to the mailing list. If this is an email address, a mailto: link will automatically be created when the documentation is created. ", MailingList_unsubscribe: " The email address or link that can be used to unsubscribe to the mailing list. If this is an email address, a mailto: link will automatically be created when the documentation is created. ", MailingList_post: " The email address or link that can be used to post to the mailing list. If this is an email address, a mailto: link will automatically be created when the documentation is created. ", MailingList_archive: "The link to a URL where you can browse the mailing list archive.", MailingList_otherArchives: "The link to alternate URLs where you can browse the list archive.", Prerequisites: "Describes the prerequisites a project can have.", Prerequisites_maven: " For a plugin project (packaging is maven-plugin), the minimum version of Maven required to use the resulting plugin.
", Scm: " The <scm> element contains informations required to the SCM (Source Control Management) of the project. ", Scm_connection: ` The source control management system URL that describes the repository and how to connect to the repository. For more information, see the URL format and list of supported SCMs. This connection is read-only.
Default value is: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if scm's child.scm.connection.inherit.append.path="false"`, Scm_developerConnection: ` Just like connection, but for developers, i.e. this scm connection will not be read only.
Default value is: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if scm's child.scm.developerConnection.inherit.append.path="false" `, Scm_tag: "The tag of current code. By default, it's set to HEAD during development.", Scm_url: ` The URL to the project's browsable SCM repository, such as ViewVC or Fisheye.
Default value is: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if scm's child.scm.url.inherit.append.path="false" `, Scm_childScmConnectionInheritAppendPath: " When children inherit from scm connection, append path or not? Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean
Default value is: true
Since: Maven 3.6.1 ", Scm_childScmDeveloperConnectionInheritAppendPath: " When children inherit from scm developer connection, append path or not? Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean
Default value is: true
Since: Maven 3.6.1 ", Scm_childScmUrlInheritAppendPath: " When children inherit from scm url, append path or not? Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean
Default value is: true
Since: Maven 3.6.1 ", IssueManagement: "Information about the issue tracking (or bug tracking) system used to manage this project.", IssueManagement_system: "The name of the issue management system, e.g. Bugzilla", IssueManagement_url: "URL for the issue management system used by the project.", CiManagement: " The <CiManagement> element contains informations required to the continuous integration system of the project. ", CiManagement_system: " The name of the continuous integration system, e.g. continuum. ", CiManagement_url: "URL for the continuous integration system used by the project if it has a web interface.", CiManagement_notifiers: "Configuration for notifying developers/users when a build is unsuccessful, including user information and notification mode.", DistributionManagement: "This elements describes all that pertains to distribution for a project. It is primarily used for deployment of artifacts and the site produced by the build.", DistributionManagement_repository: "Information needed to deploy the artifacts generated by the project to a remote repository.", DistributionManagement_snapshotRepository: " Where to deploy snapshots of artifacts to. If not given, it defaults to the repository element.", DistributionManagement_site: "Information needed for deploying the web site of the project.", DistributionManagement_downloadUrl: " The URL of the project's download page. If not given users will be referred to the homepage given by url. This is given to assist in locating artifacts that are not in the repository due to licensing restrictions. ", DistributionManagement_relocation: "Relocation information of the artifact if it has been moved to a new group ID and/or artifact ID.", DistributionManagement_status: " Gives the status of this artifact in the remote repository. This must not be set in your local project, as it is updated by tools placing it in the reposiory. Valid values are: none (default), converted (repository manager converted this from an Maven 1 POM), partner (directly synced from a partner Maven 2 repository), deployed (was deployed from a Maven 2 instance), verified (has been hand verified as correct and final). ", Notifier: "Configures one method for notifying users/developers when a build breaks.", Notifier_type: "The mechanism used to deliver notifications.", Notifier_sendOnError: "Whether to send notifications on error.", Notifier_sendOnFailure: "Whether to send notifications on failure.", Notifier_sendOnSuccess: "Whether to send notifications on success.", Notifier_sendOnWarning: "Whether to send notifications on warning.", Notifier_address: " Deprecated. Where to send the notification to - eg email address. ", Notifier_configuration: "Extended configuration specific to this notifier goes here.", Relocation: "Describes where an artifact has moved to. If any of the values are omitted, it is assumed to be the same as it was before.", Relocation_groupId: "The group ID the artifact has moved to.", Relocation_artifactId: "The new artifact ID of the artifact.", Relocation_version: "The new version of the artifact.", Relocation_message: "An additional message to show the user about the move, such as the reason.", DeploymentRepository: "Repository contains the information needed for deploying to the remote repository.", DependencyManagement: "Section for management of default dependency information for use in a group of POMs.", DependencyManagement_dependencies: `The dependencies specified here are not used until they are referenced in a POM within the group. This allows the specification of a "standard" version for a particular dependency.`, Dependency: " The <dependency> element contains information about a dependency of the project. ", Dependency_groupId: " The project group that produced the dependency, e.g. org.apache.maven. ", Dependency_artifactId: " The unique id for an artifact produced by the project group, e.g. maven-artifact. ", Dependency_version: " The version of the dependency, e.g. 3.2.1. In Maven 2, this can also be specified as a range of versions. ", Dependency_type: ` The type of dependency, that will be mapped to a file extension, an optional classifier, and a few other attributes. Some examples are jar, war, ejb-client and test-jar: see default artifact handlers for a list. New types can be defined by extensions, so this is not a complete list. `, Dependency_classifier: ` The classifier of the dependency. It is appended to the filename after the version. This allows:
  • referring to attached artifact, for example sources and javadoc: see default artifact handlers for a list,
  • distinguishing two artifacts that belong to the same POM but were built differently. For example, jdk14 and jdk15.
`, Dependency_scope: ` The scope of the dependency - compile, runtime, test, system, and provided. Used to calculate the various classpaths used for compilation, testing, and so on. It also assists in determining which artifacts to include in a distribution of this project. For more information, see the dependency mechanism. The default scope is compile. `, Dependency_systemPath: " FOR SYSTEM SCOPE ONLY. Note that use of this property is discouraged and may be replaced in later versions. This specifies the path on the filesystem for this dependency. Requires an absolute path for the value, not relative. Use a property that gives the machine specific absolute path, e.g. ${java.home}. ", Dependency_exclusions: "Lists a set of artifacts that should be excluded from this dependency's artifact list when it comes to calculating transitive dependencies.", Dependency_optional: " Indicates the dependency is optional for use of this library. While the version of the dependency will be taken into account for dependency calculation if the library is used elsewhere, it will not be passed on transitively. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. ", Exclusion: " The <exclusion> element contains informations required to exclude an artifact to the project. ", Exclusion_artifactId: "The artifact ID of the project to exclude.", Exclusion_groupId: "The group ID of the project to exclude.", Site: "Contains the information needed for deploying websites.", Site_id: " A unique identifier for a deployment location. This is used to match the site to configuration in the settings.xml file, for example.", Site_name: "Human readable name of the deployment location.", Site_url: ` The url of the location where website is deployed, in the form protocol://hostname/path.
Default value is: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if site's child.site.url.inherit.append.path="false" `, Profile: "Modifications to the build process which is activated based on environmental parameters or command line arguments.", Profile_id: "The identifier of this build profile. This is used for command line activation, and identifies profiles to be merged. ", Profile_activation: "The conditional logic which will automatically trigger the inclusion of this profile.", Profile_build: "Information required to build the project.", Profile_modules: "The modules (sometimes called subprojects) to build as a part of this project. Each module listed is a relative path to the directory containing the module. To be consistent with the way default urls are calculated from parent, it is recommended to have module names match artifact ids.", Profile_distributionManagement: "Distribution information for a project that enables deployment of the site and artifacts to remote web servers and repositories respectively.", Profile_properties: " Properties that can be used throughout the POM as a substitution, and are used as filters in resources if enabled. The format is <name>value</name>. ", Profile_dependencyManagement: "Default dependency information for projects that inherit from this one. The dependencies in this section are not immediately resolved. Instead, when a POM derived from this one declares a dependency described by a matching groupId and artifactId, the version and other values from this section are used for that dependency if they were not already specified.", Profile_dependencies: ` This element describes all of the dependencies associated with a project. These dependencies are used to construct a classpath for your project during the build process. They are automatically downloaded from the repositories defined in this project. See the dependency mechanism for more information. `, Profile_repositories: "The lists of the remote repositories for discovering dependencies and extensions.", Profile_pluginRepositories: "The lists of the remote repositories for discovering plugins for builds and reports.", Profile_reports: " Deprecated. Now ignored by Maven. ", Profile_reporting: " This element includes the specification of report plugins to use to generate the reports on the Maven-generated site. These reports will be run when a user executes mvn site. All of the reports will be included in the navigation bar for browsing. ", Repository: "A repository contains the information needed for establishing connections with remote repository.", Repository_releases: "How to handle downloading of releases from this repository.", Repository_snapshots: "How to handle downloading of snapshots from this repository.", Repository_id: " A unique identifier for a repository. This is used to match the repository to configuration in the settings.xml file, for example. Furthermore, the identifier is used during POM inheritance and profile injection to detect repositories that should be merged. ", Repository_name: "Human readable name of the repository.", Repository_url: " The url of the repository, in the form protocol://hostname/path. ", Repository_layout: " The type of layout this repository uses for locating and storing artifacts - can be legacy or default. ", Activation: "The conditions within the build runtime environment which will trigger the automatic inclusion of the build profile. Multiple conditions can be defined, which must be all satisfied to activate the profile.", Activation_activeByDefault: "If set to true, this profile will be active unless another profile in this pom is activated using the command line -P option or by one of that profile's activators.", Activation_jdk: " Specifies that this profile will be activated when a matching JDK is detected. For example, 1.4 only activates on JDKs versioned 1.4, while !1.4 matches any JDK that is not version 1.4. Ranges are supported too: [1.5,) activates when the JDK is 1.5 minimum. ", Activation_os: "Specifies that this profile will be activated when matching operating system attributes are detected.", Activation_property: "Specifies that this profile will be activated when this system property is specified.", Activation_file: "Specifies that this profile will be activated based on existence of a file.", Reporting: "Section for management of reports and their configuration.", Reporting_excludeDefaults: ` If true, then the default reports are not included in the site generation. This includes the reports in the "Project Info" menu. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. `, Reporting_outputDirectory: " Where to store all of the generated reports. The default is ${project.build.directory}/site. ", Reporting_plugins: "The reporting plugins to use and their configuration.", ReportPlugin: " The <plugin> element contains informations required for a report plugin. ", ReportPlugin_groupId: "The group ID of the reporting plugin in the repository.", ReportPlugin_artifactId: "The artifact ID of the reporting plugin in the repository.", ReportPlugin_version: "The version of the reporting plugin to be used.", ReportPlugin_reportSets: " Multiple specifications of a set of reports, each having (possibly) different configuration. This is the reporting parallel to an execution in the build. ", ReportPlugin_inherited: " Whether any configuration should be propagated to child POMs. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. ", ReportPlugin_configuration: `

The configuration as DOM object.

By default, every element content is trimmed, but starting with Maven 3.1.0, you can add xml:space="preserve" to elements you want to preserve whitespace.

You can control how child POMs inherit configuration from parent POMs by adding combine.children or combine.self attributes to the children of the configuration element:

  • combine.children: available values are merge (default) and append,
  • combine.self: available values are merge (default) and override.

See POM Reference documentation and Xpp3DomUtils for more information.

`, ReportSet: "Represents a set of reports and configuration to be used to generate them.", ReportSet_id: "The unique id for this report set, to be used during POM inheritance and profile injection for merging of report sets. ", ReportSet_reports: "The list of reports from this plugin which should be generated from this set.", ReportSet_inherited: " Whether any configuration should be propagated to child POMs. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. ", ReportSet_configuration: `

The configuration as DOM object.

By default, every element content is trimmed, but starting with Maven 3.1.0, you can add xml:space="preserve" to elements you want to preserve whitespace.

You can control how child POMs inherit configuration from parent POMs by adding combine.children or combine.self attributes to the children of the configuration element:

  • combine.children: available values are merge (default) and append,
  • combine.self: available values are merge (default) and override.

See POM Reference documentation and Xpp3DomUtils for more information.

`, Build: " The <build> element contains informations required to build the project. Default values are defined in Super POM. ", Build_sourceDirectory: " This element specifies a directory containing the source of the project. The generated build system will compile the sources from this directory when the project is built. The path given is relative to the project descriptor. The default value is src/main/java. ", Build_scriptSourceDirectory: " This element specifies a directory containing the script sources of the project. This directory is meant to be different from the sourceDirectory, in that its contents will be copied to the output directory in most cases (since scripts are interpreted rather than compiled). The default value is src/main/scripts. ", Build_testSourceDirectory: " This element specifies a directory containing the unit test source of the project. The generated build system will compile these directories when the project is being tested. The path given is relative to the project descriptor. The default value is src/test/java. ", Build_outputDirectory: " The directory where compiled application classes are placed. The default value is target/classes. ", Build_testOutputDirectory: " The directory where compiled test classes are placed. The default value is target/test-classes. ", Build_extensions: "A set of build extensions to use from this project.", Build_defaultGoal: "The default goal (or phase in Maven 2) to execute when none is specified for the project. Note that in case of a multi-module build, only the default goal of the top-level project is relevant, i.e. the default goals of child modules are ignored. Since Maven 3, multiple goals/phases can be separated by whitespace.", Build_resources: " This element describes all of the classpath resources such as properties files associated with a project. These resources are often included in the final package. The default value is src/main/resources. ", Build_testResources: " This element describes all of the classpath resources such as properties files associated with a project's unit tests. The default value is src/test/resources. ", Build_directory: " The directory where all files generated by the build are placed. The default value is target. ", Build_finalName: " The filename (excluding the extension, and with no path information) that the produced artifact will be called. The default value is ${artifactId}-${version}. ", Build_filters: "The list of filter properties files that are used when filtering is enabled.", Build_pluginManagement: "Default plugin information to be made available for reference by projects derived from this one. This plugin configuration will not be resolved or bound to the lifecycle unless referenced. Any local configuration for a given plugin will override the plugin's entire definition here.", Build_plugins: "The list of plugins to use.", BuildBase: "Generic informations for a build.", BuildBase_defaultGoal: "The default goal (or phase in Maven 2) to execute when none is specified for the project. Note that in case of a multi-module build, only the default goal of the top-level project is relevant, i.e. the default goals of child modules are ignored. Since Maven 3, multiple goals/phases can be separated by whitespace.", BuildBase_resources: " This element describes all of the classpath resources such as properties files associated with a project. These resources are often included in the final package. The default value is src/main/resources. ", BuildBase_testResources: " This element describes all of the classpath resources such as properties files associated with a project's unit tests. The default value is src/test/resources. ", BuildBase_directory: " The directory where all files generated by the build are placed. The default value is target. ", BuildBase_finalName: " The filename (excluding the extension, and with no path information) that the produced artifact will be called. The default value is ${artifactId}-${version}. ", BuildBase_filters: "The list of filter properties files that are used when filtering is enabled.", BuildBase_pluginManagement: "Default plugin information to be made available for reference by projects derived from this one. This plugin configuration will not be resolved or bound to the lifecycle unless referenced. Any local configuration for a given plugin will override the plugin's entire definition here.", BuildBase_plugins: "The list of plugins to use.", Extension: "Describes a build extension to utilise.", Extension_groupId: "The group ID of the extension's artifact.", Extension_artifactId: "The artifact ID of the extension.", Extension_version: "The version of the extension.", Resource: "This element describes all of the classpath resources associated with a project or unit tests.", Resource_targetPath: " Describe the resource target path. The path is relative to the target/classes directory (i.e. ${project.build.outputDirectory}). For example, if you want that resource to appear in a specific package (org.apache.maven.messages), you must specify this element with this value: org/apache/maven/messages. This is not required if you simply put the resources in that directory structure at the source, however. ", Resource_filtering: " Whether resources are filtered to replace tokens with parameterised values or not. The values are taken from the properties element and from the properties in the files listed in the filters element. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. ", Resource_directory: "Describe the directory where the resources are stored. The path is relative to the POM.", Resource_includes: " A list of patterns to include, e.g. **/*.xml. ", Resource_excludes: " A list of patterns to exclude, e.g. **/*.xml ", PluginManagement: "Section for management of default plugin information for use in a group of POMs. ", PluginManagement_plugins: "The list of plugins to use.", Plugin: " The <plugin> element contains informations required for a plugin. ", Plugin_groupId: "The group ID of the plugin in the repository.", Plugin_artifactId: "The artifact ID of the plugin in the repository.", Plugin_version: "The version (or valid range of versions) of the plugin to be used.", Plugin_extensions: " Whether to load Maven extensions (such as packaging and type handlers) from this plugin. For performance reasons, this should only be enabled when necessary. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false. ", Plugin_executions: "Multiple specifications of a set of goals to execute during the build lifecycle, each having (possibly) a different configuration.", Plugin_dependencies: "Additional dependencies that this project needs to introduce to the plugin's classloader.", Plugin_goals: " Deprecated. Unused by Maven. ", Plugin_inherited: " Whether any configuration should be propagated to child POMs. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. ", Plugin_configuration: `

The configuration as DOM object.

By default, every element content is trimmed, but starting with Maven 3.1.0, you can add xml:space="preserve" to elements you want to preserve whitespace.

You can control how child POMs inherit configuration from parent POMs by adding combine.children or combine.self attributes to the children of the configuration element:

  • combine.children: available values are merge (default) and append,
  • combine.self: available values are merge (default) and override.

See POM Reference documentation and Xpp3DomUtils for more information.

`, PluginExecution: " The <execution> element contains informations required for the execution of a plugin. ", PluginExecution_id: "The identifier of this execution for labelling the goals during the build, and for matching executions to merge during inheritance and profile injection.", PluginExecution_phase: "The build lifecycle phase to bind the goals in this execution to. If omitted, the goals will be bound to the default phase specified by the plugin.", PluginExecution_goals: "The goals to execute with the given configuration.", PluginExecution_inherited: " Whether any configuration should be propagated to child POMs. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. ", PluginExecution_configration: `

The configuration as DOM object.

By default, every element content is trimmed, but starting with Maven 3.1.0, you can add xml:space="preserve" to elements you want to preserve whitespace.

You can control how child POMs inherit configuration from parent POMs by adding combine.children or combine.self attributes to the children of the configuration element:

  • combine.children: available values are merge (default) and append,
  • combine.self: available values are merge (default) and override.

See POM Reference documentation and Xpp3DomUtils for more information.

`, ActivationProperty: "This is the property specification used to activate a profile. If the value field is empty, then the existence of the named property will activate the profile, otherwise it does a case-sensitive match against the property value as well.", ActivationProperty_name: "The name of the property to be used to activate a profile.", ActivationProperty_value: "The value of the property required to activate a profile.", ActivationFile: "This is the file specification used to activate the profile. The missing value is the location of a file that needs to exist, and if it doesn't, the profile will be activated. On the other hand, exists will test for the existence of the file and if it is there, the profile will be activated.
Variable interpolation for these file specifications is limited to ${basedir}, System properties and request properties.", ActivationFile_missing: "The name of the file that must be missing to activate the profile.", ActivationFile_exists: "The name of the file that must exist to activate the profile.", ActivationOS: "This is an activator which will detect an operating system's attributes in order to activate its profile.", ActivationOS_name: " The name of the operating system to be used to activate the profile. This must be an exact match of the ${os.name} Java property, such as Windows XP. ", ActivationOS_family: " The general family of the OS to be used to activate the profile, such as windows or unix. ", ActivationOS_arch: "The architecture of the operating system to be used to activate the profile.", ActivationOS_version: "The version of the operating system to be used to activate the profile.", RepositoryPolicy: "Download policy.", RepositoryPolicy_enabled: " Whether to use this repository for downloading this type of artifact. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is true. ", RepositoryPolicy_updatePolicy: " The frequency for downloading updates - can be always, daily (default), interval:XXX (in minutes) or never (only if it doesn't exist locally). ", RepositoryPolicy_checksumPolicy: " What to do when verification of an artifact checksum fails. Valid values are ignore , fail or warn (the default).", // project project: " The <project> element is the root of the descriptor. The following table lists all of the possible child elements. ", project_modelVersion: "Declares to which version of project descriptor this POM conforms.", project_parent: "The location of the parent project, if one exists. Values from the parent project will be the default for this project if they are left unspecified. The location is given as a group ID, artifact ID and version.", project_groupId: " A universally unique identifier for a project. It is normal to use a fully-qualified package name to distinguish it from other projects with a similar name (eg. org.apache.maven). ", project_artifactId: "The identifier for this artifact that is unique within the group given by the group ID. An artifact is something that is either produced or used by a project. Examples of artifacts produced by Maven for a project include: JARs, source and binary distributions, and WARs.", project_version: "The current version of the artifact produced by this project.", project_packaging: " The type of artifact this project produces, for example jar war ear pom. Plugins can create their own packaging, and therefore their own packaging types, so this list does not contain all possible types. ", project_name: "The full name of the project.", project_description: "A detailed description of the project, used by Maven whenever it needs to describe the project, such as on the web site. While this element can be specified as CDATA to enable the use of HTML tags within the description, it is discouraged to allow plain text representation. If you need to modify the index page of the generated web site, you are able to specify your own instead of adjusting this text.", project_url: " The URL to the project's homepage.
Default value is: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if project's child.project.url.inherit.append.path=\"false\" ", project_inceptionYear: "The year of the project's inception, specified with 4 digits. This value is used when generating copyright notices as well as being informational.", project_organization: "This element describes various attributes of the organization to which the project belongs. These attributes are utilized when documentation is created (for copyright notices and links).", project_licenses: " This element describes all of the licenses for this project. Each license is described by a license element, which is then described by additional elements. Projects should only list the license(s) that applies to the project and not the licenses that apply to dependencies. If multiple licenses are listed, it is assumed that the user can select any of them, not that they must accept all. ", project_licenses_license: " This element describes all of the licenses for this project. Each license is described by a license element, which is then described by additional elements. Projects should only list the license(s) that applies to the project and not the licenses that apply to dependencies. If multiple licenses are listed, it is assumed that the user can select any of them, not that they must accept all. ", project_developers: "Describes the committers of a project.", project_contributors: "Describes the contributors to a project that are not yet committers.", project_mailingLists: "Contains information about a project's mailing lists.", project_prerequisites: "Describes the prerequisites in the build environment for this project.", project_modules: "The modules (sometimes called subprojects) to build as a part of this project. Each module listed is a relative path to the directory containing the module. To be consistent with the way default urls are calculated from parent, it is recommended to have module names match artifact ids.", project_scm: "Specification for the SCM used by the project, such as CVS, Subversion, etc.", project_issueManagement: "The project's issue management system information.", project_ciManagement: "The project's continuous integration information.", project_distributionManagement: "Distribution information for a project that enables deployment of the site and artifacts to remote web servers and repositories respectively.", project_properties: " Properties that can be used throughout the POM as a substitution, and are used as filters in resources if enabled. The format is <name>value</name>. ", project_dependencyManagement: "Default dependency information for projects that inherit from this one. The dependencies in this section are not immediately resolved. Instead, when a POM derived from this one declares a dependency described by a matching groupId and artifactId, the version and other values from this section are used for that dependency if they were not already specified.", project_dependencies: ` This element describes all of the dependencies associated with a project. These dependencies are used to construct a classpath for your project during the build process. They are automatically downloaded from the repositories defined in this project. See the dependency mechanism for more information. `, project_repositories: "The lists of the remote repositories for discovering dependencies and extensions.", project_pluginRepositories: "The lists of the remote repositories for discovering plugins for builds and reports.", project_build: "Information required to build the project.", project_reports: " Deprecated. Now ignored by Maven. ", project_reporting: " This element includes the specification of report plugins to use to generate the reports on the Maven-generated site. These reports will be run when a user executes mvn site. All of the reports will be included in the navigation bar for browsing. ", project_profiles: "A listing of project-local build profiles which will modify the build process when activated.", }; // Converted from https://maven.apache.org/xsd/maven-4.0.0.xsd const getSchema = () => { return { project: { $type: "Model", $documentation: new Documentation(M300, DESC.project), modelVersion: stringElement(M400, DESC.project_modelVersion), parent: Parent(M400, DESC.project_parent), groupId: stringElement(M300, DESC.project_groupId), artifactId: stringElement(M300, DESC.project_artifactId), version: stringElement(M400, DESC.project_version), packaging: stringElement(M400, DESC.project_packaging, "jar"), name: stringElement(M300, DESC.project_name), description: stringElement(M300, DESC.project_description), url: stringElement(M300, DESC.project_url), inceptionYear: stringElement(M300, DESC.project_inceptionYear), organization: Organization(M300, DESC.project_organization), licenses: complexTypeElement(M300, DESC.project_licenses, { license: License(M300, DESC.project_licenses_license), }), developers: complexTypeElement(M300, DESC.project_developers, { developer: Developer(), }), contributors: complexTypeElement(M300, DESC.project_contributors, { contributor: Contributor(), }), mailingLists: complexTypeElement(M300, DESC.project_mailingLists, { mailingList: MailingList(), }), prerequisites: Prerequisites(M400, DESC.project_prerequisites), modules: complexTypeElement(M400, DESC.project_modules, { module: stringElement(), }), scm: Scm(M400, DESC.project_scm), issueManagement: IssueManagement(M400, DESC.project_issueManagement), ciManagement: CiManagement(M400, DESC.project_ciManagement), distributionManagement: DistributionManagement(M400, DESC.project_distributionManagement), properties: complexTypeElement(M400, DESC.project_properties), dependencyManagement: DependencyManagement(M400, DESC.project_dependencyManagement), dependencies: complexTypeElement(M300, DESC.project_dependencies, { dependency: Dependency(), }), repositories: complexTypeElement(M400, DESC.project_repositories, { repository: Repository(), }), pluginRepositories: complexTypeElement(M400, DESC.project_pluginRepositories, { pluginRepository: Repository(), }), build: Build(M300, DESC.project_build), reports: {...complexTypeElement(M400, DESC.project_reports), $deprecated: true}, reporting: Reporting(M400, DESC.project_reporting), profiles: complexTypeElement(M400, DESC.project_profiles, { profile: Profile(), }), } }; }; function booleanElement(version?: string, description?: string, _default?: string) { return { $type: "xs:string", $documentation: new Documentation(version, description), $default: _default }; } function stringElement(version?: string, description?: string, _default?: string) { return { $type: "xs:string", $documentation: new Documentation(version, description), $default: _default }; } function deprecatedElement(version?: string, description?: string) { return { $type: "xs:deprecated", $documentation: new Documentation(version, description), $deprecated: true }; } function complexTypeElement(version: string, description: string, children: any = {}, typeName: string = "complexType") { return { $type: typeName, $documentation: new Documentation(version, description), ...children }; } function Parent(version?: string, description?: string) { return { $type: "Parent", $documentation: new Documentation(version ?? M400, description ?? DESC.Parent), groupId: stringElement(M400, DESC.Parent_groupId), artifactId: stringElement(M400, DESC.Parent_artifactId), version: stringElement(M400, DESC.Parent_version), relativePath: stringElement(M400, DESC.Parent_relativePath), }; } function Organization(version?: string, description?: string) { return { $type: "Organization", $documentation: new Documentation(version ?? M300, description ?? DESC.Organization), name: stringElement(M300, DESC.Organization_name), url: stringElement(M300, DESC.Organization_url) }; } function License(version?: string, description?: string) { return { $type: "License", $documentation: new Documentation(version ?? M300, description ?? DESC.License), name: stringElement(M300, DESC.License_name), url: stringElement(M300, DESC.License_url), distribution: stringElement(M300, DESC.License_distribution), comments: stringElement(M300, DESC.License_comments), }; } function Developer(version?: string, description?: string) { return { $type: "Developer", $documentation: new Documentation(version ?? M300, description ?? DESC.Developer), id: stringElement(M300, DESC.Developer_id), name: stringElement(M300, DESC.Developer_name), email: stringElement(M300, DESC.Developer_email), url: stringElement(M300, DESC.Developer_url), organization: stringElement(M300, DESC.Developer_organization), organizationUrl: stringElement(M300, DESC.Developer_organizationUrl), roles: stringElement(M300, DESC.Developer_roles), timezone: stringElement(M300, DESC.Developer_timezone), properties: stringElement(M300, DESC.Developer_properties), }; } function Contributor(version?: string, description?: string) { return { $type: "Contributor", $documentation: new Documentation(version ?? M300, description ?? DESC.Contributor), name: stringElement(M300, DESC.Contributor_name), email: stringElement(M300, DESC.Contributor_email), url: stringElement(M300, DESC.Contributor_url), organization: stringElement(M300, DESC.Contributor_organization), organizationUrl: stringElement(M300, DESC.Contributor_organizationUrl), roles: stringElement(M300, DESC.Contributor_roles), timezone: stringElement(M300, DESC.Contributor_timezone), properties: complexTypeElement(M300, DESC.Contributor_properties, {}), }; } function MailingList(version?: string, description?: string) { return { $type: "MailingList", $documentation: new Documentation(version ?? M300, description ?? DESC.MailingList), name: stringElement(M300, DESC.MailingList_name), subscribe: stringElement(M300, DESC.MailingList_subscribe), unsubscribe: stringElement(M300, DESC.MailingList_unsubscribe), post: stringElement(M300, DESC.MailingList_post), archive: stringElement(M300, DESC.MailingList_archive), otherArchives: complexTypeElement(M300, DESC.MailingList_otherArchives, { otherArchive: stringElement(), }), }; } function Prerequisites(version?: string, description?: string) { return { $type: "Prerequisites", $documentation: new Documentation(version ?? M400, description ?? DESC.Prerequisites), maven: stringElement(M400, DESC.Prerequisites_maven, "2.0"), }; } function Scm(version?: string, description?: string) { return { $type: "Scm", $documentation: new Documentation(version ?? M400, description ?? DESC.Scm), maven: stringElement(M400, DESC.Prerequisites_maven, "2.0"), connection: stringElement(M400, DESC.Scm_connection), developerConnection: stringElement(M400, DESC.Scm_developerConnection), tag: stringElement(M400, DESC.Scm_tag, "HEAD"), url: stringElement(M400, DESC.Scm_url), childScmConnectionInheritAppendPath: stringElement(M400, DESC.Scm_childScmConnectionInheritAppendPath), childScmDeveloperConnectionInheritAppendPath: stringElement(M400, DESC.Scm_childScmDeveloperConnectionInheritAppendPath), childScmUrlInheritAppendPath: stringElement(M400, DESC.Scm_childScmUrlInheritAppendPath), }; } function IssueManagement(version?: string, description?: string) { return { $type: "IssueManagement", $documentation: new Documentation(version ?? M400, description ?? DESC.IssueManagement), system: stringElement(M400, DESC.IssueManagement_system), url: stringElement(M400, DESC.IssueManagement_url), } } function CiManagement(version?: string, description?: string) { return { $type: "CiManagement", $documentation: new Documentation(version ?? M400, description ?? DESC.CiManagement), system: stringElement(M400, DESC.CiManagement_system), url: stringElement(M400, DESC.CiManagement_url), notifiers: complexTypeElement(M400, DESC.CiManagement_notifiers, { notifier: Notifier(), }), } } function DistributionManagement(version?: string, description?: string) { return { $type: "DistributionManagement", $documentation: new Documentation(version ?? M400, description ?? DESC.DistributionManagement), repository: DeploymentRepository(M400, DESC.DistributionManagement_repository), snapshotRepository: DeploymentRepository(M400, DESC.DistributionManagement_snapshotRepository), site: Site(M400, DESC.DistributionManagement_site), downloadUrl: stringElement(M400, DESC.DistributionManagement_downloadUrl), relocation: Relocation(M400, DESC.DistributionManagement_relocation), status: stringElement(M400, DESC.DistributionManagement_status), } } function Notifier() { return { $type: "Notifier", $documentation: new Documentation(M400, DESC.Notifier), type: stringElement(M400, DESC.Notifier_type, "mail"), sendOnError: stringElement(M400, DESC.Notifier_sendOnError, "true"), sendOnFailure: stringElement(M400, DESC.Notifier_sendOnFailure, "true"), sendOnSuccess: stringElement(M400, DESC.Notifier_sendOnSuccess, "true"), sendOnWarning: stringElement(M400, DESC.Notifier_sendOnWarning, "true"), address: stringElement(M400, DESC.Notifier_address), configuration: complexTypeElement(M000, DESC.Notifier_configuration, {}), }; } function DeploymentRepository(version?: string, description?: string) { return { $type: "DeploymentRepository", $documentation: new Documentation(version ?? M400, description ?? DESC.DeploymentRepository), // TODO: // // ... // } } function Relocation(version?: string, description?: string) { return { $type: "Relocation", $documentation: new Documentation(version ?? M400, description ?? DESC.Relocation), groupId: stringElement(M400, DESC.Relocation_groupId), artifactId: stringElement(M400, DESC.Relocation_artifactId), version: stringElement(M400, DESC.Relocation_version), message: stringElement(M400, DESC.Relocation_message), } } function Site(version?: string, description?: string) { return { $type: "Site", $documentation: new Documentation(version ?? M400, description ?? DESC.Site), id: stringElement(M400, DESC.Site_id), name: stringElement(M400, DESC.Site_name), url: stringElement(M400, DESC.Site_url), }; } function DependencyManagement(version?: string, description?: string) { return { $type: "DependencyManagement", $documentation: new Documentation(version ?? M400, description ?? DESC.DependencyManagement), dependencies: complexTypeElement(M400, DESC.DependencyManagement_dependencies, { dependency: Dependency(), }), } } function Dependency() { return { $type: "Dependency", $documentation: new Documentation(M300, DESC.Dependency), groupId: stringElement(M300, DESC.Dependency_groupId), artifactId: stringElement(M300, DESC.Dependency_artifactId), version: stringElement(M300, DESC.Dependency_version), type: stringElement(M400, DESC.Dependency_type), classifier: stringElement(M400, DESC.Dependency_classifier), scope: stringElement(M400, DESC.Dependency_scope), systemPath: stringElement(M400, DESC.Dependency_systemPath), exclusions: complexTypeElement(M400, DESC.Dependency_exclusions, { exclusion: Exclusion(), }), optional: stringElement(M400, DESC.Dependency_optional), }; } function Exclusion() { return { $type: "Exclusion", $documentation: new Documentation(M400, DESC.Exclusion), artifactId: stringElement(M400, DESC.Exclusion_artifactId), groupId: stringElement(M400, DESC.Exclusion_groupId), }; } function Build(version: string, description: string) { return { $type: "Build", $documentation: new Documentation(version ?? M300, description ?? DESC.Build), sourceDirectory: stringElement(M300, DESC.Build_sourceDirectory), scriptSourceDirectory: stringElement(M400, DESC.Build_scriptSourceDirectory), testSourceDirectory: stringElement(M400, DESC.Build_testSourceDirectory), outputDirectory: stringElement(M400, DESC.Build_outputDirectory), testOutputDirectory: stringElement(M400, DESC.Build_testOutputDirectory), extensions: complexTypeElement(M400, DESC.Build_extensions, { extension: Extension(), }), defaultGoal: stringElement(M300, DESC.Build_defaultGoal), resources: complexTypeElement(M300, DESC.Build_resources, { resource: Resource(), }), testResources: complexTypeElement(M400, DESC.Build_testResources, { resource: Resource(), }), directory: stringElement(M400, DESC.Build_directory), finalName: stringElement(M400, DESC.Build_finalName), filters: complexTypeElement(M400, DESC.Build_filters, { filter: stringElement(), }), pluginManagement: PluginManagement(M400, DESC.Build_pluginManagement), plugins: complexTypeElement(M400, DESC.Build_plugins, { plugin: Plugin(), }), } } function Reporting(version?: string, description?: string) { return { $type: "Reporting", $documentation: new Documentation(version ?? M400, description ?? DESC.Reporting), excludeDefaults: stringElement(M400, DESC.Reporting_excludeDefaults), outputDirectory: stringElement(M400, DESC.Reporting_outputDirectory), plugins: complexTypeElement(M400, DESC.Reporting_plugins, { plugin: ReportPlugin(), }), }; } function Profile() { return { $type: "Profile", $documentation: new Documentation(M400, DESC.Profile), id: stringElement(M400, DESC.Profile_id, "default"), activation: Activation(M400, DESC.Profile_activation), build: BuildBase(M400, DESC.Profile_build), modules: complexTypeElement(M400, DESC.Profile_modules, { module: stringElement(), }), distributionManagement: DistributionManagement(M400, DESC.Profile_distributionManagement), properties: complexTypeElement(M400, DESC.Profile_properties), dependencyManagement: DependencyManagement(M400, DESC.Profile_dependencyManagement), dependencies: complexTypeElement(M300, DESC.Profile_dependencies, { dependency: Dependency(), }), repositories: complexTypeElement(M400, DESC.Profile_repositories, { repository: Repository(), }), pluginRepositories: complexTypeElement(M400, DESC.Profile_pluginRepositories, { repository: Repository(), }), reports: complexTypeElement(M400, DESC.Profile_reports), reporting: Reporting(M400, DESC.Profile_reporting) }; } function Repository() { return { $type: "Repository", $documentation: new Documentation(M400, DESC.Repository), releases: RepositoryPolicy(M400, DESC.Repository_releases), snapshots: RepositoryPolicy(M400, DESC.Repository_snapshots), id: stringElement(M400, DESC.Repository_id), name: stringElement(M400, DESC.Repository_name), url: stringElement(M400, DESC.Repository_url), layout: stringElement(M400, DESC.Repository_layout, "default"), }; } function Activation(version?: string, description?: string) { return { $type: "Activation", $documentation: new Documentation(version ?? M400, description ?? DESC.Activation), activeByDefault: booleanElement(M400, DESC.Activation_activeByDefault, "false"), jdk: stringElement(M400, DESC.Activation_jdk), os: ActivationOS(M400, DESC.Activation_os), property: ActivationProperty(M400, DESC.Activation_property), file: ActivationFile(M400, DESC.Activation_file) } } function BuildBase(version?: string, description?: string) { return { $type: "BuildBase", $documentation: new Documentation(version ?? M300, description ?? DESC.BuildBase), defaultGoal: stringElement(M400, DESC.BuildBase_defaultGoal), resources: complexTypeElement(M400, DESC.BuildBase_resources, { resource: Resource(), }), testResources: complexTypeElement(M400, DESC.BuildBase_testResources, { testResource: Resource(), }), directory: stringElement(M400, DESC.BuildBase_directory), finalName: stringElement(M400, DESC.BuildBase_finalName), filters: complexTypeElement(M400, DESC.BuildBase_filters, { filter: stringElement(), }), pluginManagement: PluginManagement(M400, DESC.BuildBase_pluginManagement), plugins: complexTypeElement(M400, DESC.BuildBase_plugins, { plugin: Plugin(), }), }; } function RepositoryPolicy(version?: string, description?: string) { return { $type: "RepositoryPolicy", $documentation: new Documentation(version ?? M400, description ?? DESC.RepositoryPolicy), enabled: stringElement(M400, DESC.RepositoryPolicy_enabled), updatePolicy: stringElement(M400, DESC.RepositoryPolicy_updatePolicy), checksumPolicy: stringElement(M400, DESC.RepositoryPolicy_checksumPolicy), }; } function ReportPlugin() { return { $type: "ReportPlugin", $documentation: new Documentation(M400, DESC.ReportPlugin), groupId: stringElement(M400, DESC.ReportPlugin_groupId), artifactId: stringElement(M400, DESC.ReportPlugin_artifactId), version: stringElement(M400, DESC.ReportPlugin_version), reportSets: complexTypeElement(M400, DESC.ReportPlugin_reportSets, { reportSet: ReportSet(), }), inherited: stringElement(M400, DESC.ReportPlugin_inherited), configuration: complexTypeElement(M400, DESC.ReportPlugin_configuration), }; } function ReportSet() { return { $type: "ReportSet", $documentation: new Documentation(M400, DESC.ReportSet), id: stringElement(M000, DESC.ReportSet_id, "default"), reports: complexTypeElement(M400, DESC.ReportSet_reports, { report: stringElement(), }), inherited: stringElement(M400, DESC.ReportSet_inherited), configuration: complexTypeElement(M400, DESC.ReportSet_configuration), }; } function Extension() { return { $type: "Extension", $documentation: new Documentation(M400, DESC.Extension), groupId: stringElement(M400, DESC.Extension_groupId), artifactId: stringElement(M400, DESC.Extension_artifactId), version: stringElement(M400, DESC.Extension_version), }; } function Resource() { return { $type: "Resource", $documentation: new Documentation(M300, DESC.Resource), targetPath: stringElement(M300, DESC.Resource_targetPath), filtering: stringElement(M300, DESC.Resource_filtering), directory: stringElement(M300, DESC.Resource_directory), includes: complexTypeElement(M300, DESC.Resource_includes, { include: stringElement(), }), excludes: complexTypeElement(M300, DESC.Resource_excludes, { exclude: stringElement(), }), } } function PluginManagement(version: string, description: string) { return { $type: "PluginManagement", $documentation: new Documentation(version ?? M400, description ?? DESC.PluginManagement), plugins: complexTypeElement(M400, DESC.PluginManagement_plugins, { plugin: Plugin(), }), }; } function Plugin() { return { $type: "Plugin", $documentation: new Documentation(M400, DESC.Plugin), groupId: stringElement(M400, DESC.Plugin_groupId, "org.apache.maven.plugins"), artifactId: stringElement(M400, DESC.Plugin_artifactId), version: stringElement(M400, DESC.Plugin_version), extensions: stringElement(M400, DESC.Plugin_extensions), executions: complexTypeElement(M400, DESC.Plugin_executions, { execution: PluginExecution(), }), dependencies: complexTypeElement(M400, DESC.Plugin_dependencies, { dependency: Dependency(), }), goals: deprecatedElement(M400, DESC.Plugin_goals), inherited: stringElement(M400, DESC.Plugin_inherited), configuration: complexTypeElement(M000, DESC.Plugin_configuration), } } function PluginExecution() { return { $type: "PluginExecution", $documentation: new Documentation(M400, DESC.PluginExecution), id: stringElement(M400, DESC.PluginExecution_id), phase: stringElement(M400, DESC.PluginExecution_phase), goals: complexTypeElement(M400, DESC.PluginExecution_goals, { goal: stringElement(), }), inherited: stringElement(M400, DESC.PluginExecution_inherited), configuration: complexTypeElement(M000, DESC.PluginExecution_configration), } } function ActivationProperty(version?: string, description?: string) { return { $type: "ActivationProperty", $documentation: new Documentation(version ?? M400, description ?? DESC.ActivationProperty), name: stringElement(M400, DESC.ActivationProperty_name), value: stringElement(M400, DESC.ActivationProperty_value), } } function ActivationFile(version?: string, description?: string) { return { $type: "ActivationProperty", $documentation: new Documentation(version ?? M400, description ?? DESC.ActivationFile), missing: stringElement(M400, DESC.ActivationFile_missing), exists: stringElement(M400, DESC.ActivationFile_exists), } } function ActivationOS(version?: string, description?: string) { return { $type: "ActivationOS", $documentation: new Documentation(version ?? M400, description ?? DESC.ActivationOS), name: stringElement(M400, DESC.ActivationOS_name), family: stringElement(M400, DESC.ActivationOS_family), arch: stringElement(M400, DESC.ActivationOS_arch), version: stringElement(M400, DESC.ActivationOS_version), } } // Execute generateMavenDef(); ================================================ FILE: scripts/list-autotest-plans.js ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. "use strict"; // Emits autotest plans that the GitHub Actions matrix should run, honoring // per-plan `platforms:` / `skipPlatforms:` filters. // // Two output modes: // // node scripts/list-autotest-plans.js [plansDir] // => ["maven-smoke","maven-archetype-create-project",...] // Single-platform list. Platform comes from $AUTOTEST_PLATFORM // (defaulting to process.platform). Used by callers that already know // which OS they target. // // node scripts/list-autotest-plans.js --matrix [plansDir] // => [{os,os-name,platform,artifact,plan}, ...] // Cartesian of every supported runner OS and every plan that runs on it, // in a shape directly consumable as `strategy.matrix.include:` via // `fromJSON(...)`. Plans filtered out by platforms / skipPlatforms simply // do not appear for that OS. // // The platform filter logic is intentionally kept in lock-step with // scripts/run-autotest-plans.js so a plan that runs locally also appears in CI. const fs = require("fs"); const path = require("path"); const args = process.argv.slice(2); const matrixMode = args.includes("--matrix"); const positional = args.filter(a => !a.startsWith("--")); const plansDir = positional[0] || "test-plans"; const absolutePlansDir = path.resolve(plansDir); const currentPlatform = normalizePlatformName(process.env.AUTOTEST_PLATFORM || process.platform); // Keep this list in sync with the matrix targets supported by CI. const MATRIX_TARGETS = [ { platform: "linux", os: "ubuntu-latest", "os-name": "linux", artifact: "build-linux" }, { platform: "darwin", os: "macos-latest", "os-name": "macos", artifact: "build-macos" }, { platform: "win32", os: "windows-latest", "os-name": "windows", artifact: "build-windows" }, ]; function readTopLevelList(content, key) { const blockMatch = content.match(new RegExp(`^${key}:\\s*\\n((?:\\s+-\\s*[^\\n]+\\n?)+)`, "m")); if (blockMatch) { return blockMatch[1] .split(/\r?\n/) .map(line => line.match(/^\s*-\s*(.+?)\s*$/)) .filter(Boolean) .map(match => normalizePlatformName(match[1])); } const inlineMatch = content.match(new RegExp(`^${key}:\\s*\\[([^\\]]*)\\]`, "m")); if (inlineMatch) { return inlineMatch[1] .split(",") .map(value => normalizePlatformName(value)) .filter(Boolean); } return []; } function normalizePlatformName(value) { const platform = value.trim().replace(/^["']|["']$/g, "").toLowerCase(); switch (platform) { case "windows": case "win": return "win32"; case "macos": case "mac": return "darwin"; case "ubuntu": return "linux"; default: return platform; } } function shouldIncludePlan(planFile, platform) { const content = fs.readFileSync(path.join(absolutePlansDir, planFile), "utf8"); const platforms = readTopLevelList(content, "platforms"); const skipPlatforms = readTopLevelList(content, "skipPlatforms"); if (platforms.length > 0) { return platforms.includes(platform); } return !skipPlatforms.includes(platform); } const allPlanFiles = fs.readdirSync(absolutePlansDir) .filter(file => file.endsWith(".yaml") || file.endsWith(".yml")) .sort(); if (matrixMode) { const include = []; for (const target of MATRIX_TARGETS) { for (const file of allPlanFiles) { if (shouldIncludePlan(file, target.platform)) { include.push({ ...target, plan: path.basename(file, path.extname(file)), }); } } } process.stdout.write(JSON.stringify(include)); } else { const plans = allPlanFiles .filter(file => shouldIncludePlan(file, currentPlatform)) .map(file => path.basename(file, path.extname(file))); process.stdout.write(JSON.stringify(plans)); } ================================================ FILE: scripts/prepare-nightly-build.js ================================================ const fs = require("fs"); const json = JSON.parse(fs.readFileSync("./package.json").toString()); const stableVersion = json.version.match(/(\d+)\.(\d+)\.(\d+)/); const major = stableVersion[1]; const minor = stableVersion[2]; function prependZero(number) { if (number > 99) { throw "Unexpected value to prepend with zero"; } return `${number < 10 ? "0" : ""}${number}`; } const date = new Date(); const month = date.getMonth() + 1; const day = date.getDate(); const hours = date.getHours(); patch = `${date.getFullYear()}${prependZero(month)}${prependZero(day)}${prependZero(hours)}`; const insiderPackageJson = Object.assign(json, { version: `${major}.${minor}.${patch}`, }); fs.writeFileSync("./package.json", JSON.stringify(insiderPackageJson, null, 2)); ================================================ FILE: scripts/run-autotest-plans.js ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. "use strict"; const childProcess = require("child_process"); const fs = require("fs"); const path = require("path"); const plansDir = process.argv[2] || "test-plans"; const absolutePlansDir = path.resolve(plansDir); const currentPlatform = normalizePlatformName(process.env.AUTOTEST_PLATFORM || process.platform); function readTopLevelList(content, key) { const blockMatch = content.match(new RegExp(`^${key}:\\s*\\n((?:\\s+-\\s*[^\\n]+\\n?)+)`, "m")); if (blockMatch) { return blockMatch[1] .split(/\r?\n/) .map(line => line.match(/^\s*-\s*(.+?)\s*$/)) .filter(Boolean) .map(match => normalizePlatformName(match[1])); } const inlineMatch = content.match(new RegExp(`^${key}:\\s*\\[([^\\]]*)\\]`, "m")); if (inlineMatch) { return inlineMatch[1] .split(",") .map(value => normalizePlatformName(value)) .filter(Boolean); } return []; } function normalizePlatformName(value) { const platform = value.trim().replace(/^["']|["']$/g, "").toLowerCase(); switch (platform) { case "windows": case "win": return "win32"; case "macos": case "mac": return "darwin"; case "ubuntu": return "linux"; default: return platform; } } function shouldExcludePlan(planFile) { const content = fs.readFileSync(path.join(absolutePlansDir, planFile), "utf8"); const platforms = readTopLevelList(content, "platforms"); const skipPlatforms = readTopLevelList(content, "skipPlatforms"); return platforms.length > 0 ? !platforms.includes(currentPlatform) : skipPlatforms.includes(currentPlatform); } const excludePlans = fs.readdirSync(absolutePlansDir) .filter(file => file.endsWith(".yaml") || file.endsWith(".yml")) .filter(shouldExcludePlan) .map(file => path.basename(file, path.extname(file))); if (excludePlans.length > 0) { console.log(`Skipping autotest plans on ${currentPlatform}: ${excludePlans.join(", ")}`); } const args = ["run-all", plansDir]; if (excludePlans.length > 0) { args.push("--exclude", excludePlans.join(",")); } const result = childProcess.spawnSync("autotest", args, { stdio: "inherit", shell: true }); process.exit(result.status ?? 1); ================================================ FILE: scripts/update-third-party-notice.js ================================================ const fs = require('fs'); const path = require('path'); const formatRepositoryUrl = (url) => { if (!url) return url; url = url.replace(/\/$/, ""); url = url.replace(/\.git$/, ""); url = url.replace(/^git:github\.com:/, "https://github.com/"); url = url.replace(/^git:\/\//, "https://"); return url; } const packageJSON = require(path.join(__dirname, "..", "package.json")); const header = `THIRD-PARTY SOFTWARE NOTICES AND INFORMATION For ${packageJSON.name} package This extension uses Open Source components. You can find the source code of their open source projects along with the license information below. We acknowledge and are grateful to these developers for their contribution to open source. `; const entries = Object.keys(packageJSON.dependencies).map((name, idx) => { console.log("===>>>"); console.log(name); // url const manifestFile = require(path.join(__dirname, "..", "node_modules", name, "package.json")); let url = manifestFile.repository?.url ?? manifestFile.repository; console.log(url, "\t", formatRepositoryUrl(url)); url = formatRepositoryUrl(url); // license const packageRoot = path.join(__dirname, "..", "node_modules", name); const files = fs.readdirSync(packageRoot); const licenseFile = files.find(f => f.match(/^license/i)); const license = licenseFile ? fs.readFileSync(path.join(packageRoot, licenseFile)) : undefined; console.log("<<<==="); return { name, url, license } }); const depsWithLicense = entries.filter(e => e.name !== undefined && e.license !== undefined); const toc = depsWithLicense.map((dep, idx) => { return `${idx + 1}. ${dep.name} (${dep.url})`; }).join("\n") + "\n"; const licenses = depsWithLicense.map(dep => { return `${dep.name} NOTICES BEGIN HERE ============================= ${dep.license} ========================================= END OF ${dep.name} NOTICES AND INFORMATION `; }).join("\n"); const content = [header, toc, licenses].join("\n"); fs.writeFileSync(path.join(__dirname, "..", "ThirdPartyNotices.txt"), content); ================================================ FILE: src/DiagnosticProvider.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { performance } from "perf_hooks"; import * as vscode from "vscode"; import { getRequestDelay, lruCache, MovingAverage } from "./debouncing"; import { Dependency } from "./explorer/model/Dependency"; import { MavenProject } from "./explorer/model/MavenProject"; import { getDependencyNode } from "./handlers/dependency/utils"; import { MavenProjectManager } from "./project/MavenProjectManager"; import { Settings } from "./Settings"; export const MAVEN_DEPENDENCY_CONFLICT = "Maven dependency conflict"; class DiagnosticProvider { private _collection: vscode.DiagnosticCollection; public map: Map = new Map(); public initialize(context: vscode.ExtensionContext): void { const dependencyCollection = vscode.languages.createDiagnosticCollection("Dependency"); this._collection = dependencyCollection; context.subscriptions.push(this._collection); context.subscriptions.push(vscode.workspace.onDidChangeTextDocument( async e => { if (e.document.fileName.endsWith("pom.xml")) { await this.debouncedRefresh(e.document.uri); } })); } private updateNodeForDocumentTimeout: NodeJS.Timer; private async debouncedRefresh(uri: vscode.Uri): Promise { if (this.updateNodeForDocumentTimeout) { clearTimeout(this.updateNodeForDocumentTimeout); } const timeout: number = getRequestDelay(uri); this.updateNodeForDocumentTimeout = setTimeout(async () => { const startTime: number = performance.now(); await this.refreshDiagnostics(uri); const executionTime: number = performance.now() - startTime; const movingAverage: MovingAverage = lruCache.get(uri) || new MovingAverage(); movingAverage.update(executionTime); lruCache.set(uri, movingAverage); }, timeout); } public async refreshDiagnostics(uri: vscode.Uri): Promise { const diagnostics: vscode.Diagnostic[] = []; if (Settings.enableConflictDiagnostics() === false) { this._collection.set(uri, diagnostics); return; } const project: MavenProject | undefined = MavenProjectManager.get(uri.fsPath); if (project === undefined) { throw new Error("Failed to get maven project."); } const conflictNodes: Dependency[] = project.conflictNodes; for (const node of conflictNodes) { const diagnostic = await this.createDiagnostics(node); if (diagnostic) { diagnostics.push(diagnostic); this.map.set(diagnostic, node); } } this._collection.set(uri, diagnostics); } public async createDiagnostics(node: Dependency): Promise { const root: Dependency = node.root; const range: vscode.Range | undefined = await this.findConflictRange(root.projectPomPath, root.groupId, root.artifactId); if (!range) { return undefined; } const message = `Dependency conflict in ${root.artifactId}: ${node.groupId}:${node.artifactId}:${node.version} conflict with ${node.omittedStatus?.effectiveVersion}`; const diagnostic: vscode.Diagnostic = new vscode.Diagnostic(range, message, vscode.DiagnosticSeverity.Warning); diagnostic.code = MAVEN_DEPENDENCY_CONFLICT; return diagnostic; } public async findConflictRange(pomPath: string, gid: string, aid: string): Promise { const dependencyNode = await getDependencyNode(pomPath, gid, aid); if (dependencyNode === undefined || !dependencyNode.startIndex || !dependencyNode.endIndex) { console.warn(`Failed to find dependency node ${gid}:${aid} in ${pomPath}.`); return undefined; } const currentDocument: vscode.TextDocument = await vscode.workspace.openTextDocument(pomPath); return new vscode.Range( currentDocument.positionAt(dependencyNode.startIndex), currentDocument.positionAt(dependencyNode.endIndex) ); } } export const diagnosticProvider: DiagnosticProvider = new DiagnosticProvider(); ================================================ FILE: src/Settings.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; import { Uri, workspace } from "vscode"; import { FavoriteCommand } from "./explorer/model/FavoriteCommand"; import { MavenProject } from "./explorer/model/MavenProject"; import { mavenOutputChannel } from "./mavenOutputChannel"; type FavoriteFormat = { alias?: string; command: string; debug?: boolean } export class Settings { public static isGAVCompletionEnabled(): boolean { return !!_getMavenSection("completion.gavEnabled"); } public static excludedFolders(resource: Uri): string[] { const ret: string[] | undefined = _getMavenSection("excludedFolders", resource); return ret !== undefined ? ret : []; } public static showInExplorerContextMenu(): boolean { return !!_getMavenSection("maven.showInExplorerContextMenu"); } public static enableConflictDiagnostics(): boolean { return !!_getMavenSection("dependency.enableConflictDiagnostics"); } public static viewType(): string | undefined { return _getMavenSection("view"); } public static changeToFlatView(): void { workspace.getConfiguration().update("maven.view", "flat", false); } public static changeToHierarchicalView(): void { workspace.getConfiguration().update("maven.view", "hierarchical", false); } public static storeFavorite(favorite: FavoriteFormat): void { const favorites: FavoriteFormat[] = workspace.getConfiguration().get("maven.terminal.favorites") ?? []; favorites.push(favorite); workspace.getConfiguration().update("maven.terminal.favorites", favorites); } public static setMavenExecutablePath(mvnPath: string): void { workspace.getConfiguration().update("maven.executable.path", mvnPath, true); } public static getSettingsFilePath(): string | undefined { return _getMavenSection("settingsFile"); } public static External = class { public static defaultWindowsShell(): string | undefined { return workspace.getConfiguration("terminal").get("integrated.shell.windows"); } } public static Terminal = class { public static customEnv(resourceOrFilepath?: Uri | string): { environmentVariable: string; value: string; }[] | undefined { return _getMavenSection("terminal.customEnv", resourceOrFilepath); } public static favorites(project: MavenProject): FavoriteCommand[] | undefined { type Favorite = { alias: string, command: string, debug?: boolean }; return _getMavenSection("terminal.favorites", vscode.Uri.file(project.pomPath))?.map(favorite => new FavoriteCommand(project, favorite.command, favorite.alias, favorite.debug)); } } public static Executable = class { public static path(resourceOrFilepath?: Uri | string): string | undefined { return _getMavenSection("executable.path", resourceOrFilepath); } public static options(resourceOrFilepath?: Uri | string): string | undefined { const options: string | string[] | undefined = _getMavenSection("executable.options", resourceOrFilepath); if (Array.isArray(options)) { return options.join(' '); } return options; } public static optionsValue(resourceOrFilepath?: Uri | string): string | string[] | undefined { return _getMavenSection("executable.options", resourceOrFilepath); } public static preferMavenWrapper(resourceOrFilepath?: Uri | string): boolean { return !!_getMavenSection("executable.preferMavenWrapper", resourceOrFilepath); } } public static Pomfile = class { public static autoUpdateEffectivePOM(): boolean { return !!_getMavenSection("pomfile.autoUpdateEffectivePOM"); } public static globPattern(): string { const ret: string | undefined = _getMavenSection("pomfile.globPattern"); return ret !== undefined ? ret : "**/pom.xml"; } public static prefetchEffectivePom(): boolean { return !!_getMavenSection("pomfile.prefetchEffectivePom"); } } public static getEnvironment(resourceOrFilepath?: Uri | string): { [key: string]: string } { const customEnv: { [key: string]: string } = {}; type EnvironmentSetting = { environmentVariable: string; value: string; }; const environmentSettings: EnvironmentSetting[] | undefined = Settings.Terminal.customEnv(resourceOrFilepath); if (environmentSettings) { environmentSettings.forEach((s: EnvironmentSetting) => { customEnv[s.environmentVariable] = s.value; if (s.environmentVariable === "JAVA_HOME") { mavenOutputChannel.appendLine(`Using JAVA_HOME=${s.value} (source: maven.terminal.customEnv)`); } }); } return customEnv; } /** * Get effective label of project node according to settings, * filling ${project.groupId}, ${project.artifactId}, ${project.version}, ${project.name} */ public static getExploreProjectName(project: { pomPath?: string; artifactId: string; groupId: string; version: string; name: string; }) { const template = _getMavenSection("explorer.projectName", project.pomPath); if (!template) { return "Unknown"; } return template.replace("${project.name}", project.name) .replace("${project.groupId}", project.groupId) .replace("${project.artifactId}", project.artifactId) .replace("${project.version}", project.version); } } function _getMavenSection(section: string, resourceOrFilepath?: Uri | string): T | undefined { let resource: Uri | undefined; if (typeof resourceOrFilepath === "string") { resource = Uri.file(resourceOrFilepath); } else if (resourceOrFilepath instanceof Uri) { resource = resourceOrFilepath; } return workspace.getConfiguration("maven", resource).get(section); } ================================================ FILE: src/archetype/Archetype.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. export class Archetype { public artifactId: string; public groupId: string; public repository?: string; public description?: string; public versions: string[]; constructor(aid: string, gid: string, repo?: string, desc?: string, versions: string[] = []) { this.artifactId = aid; this.groupId = gid; this.versions = versions; this.description = desc; this.repository = repo; } public get identifier(): string { return `${this.groupId}:${this.artifactId}`; } } ================================================ FILE: src/archetype/ArchetypeModule.ts ================================================ /* eslint-disable @typescript-eslint/no-explicit-any */ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as fse from "fs-extra"; import * as path from "path"; import * as vscode from "vscode"; import { Uri, workspace } from "vscode"; import { sendInfo } from "vscode-extension-telemetry-wrapper"; import { mavenTerminal } from "../mavenTerminal"; import { Settings } from "../Settings"; import { getPathToExtensionRoot } from "../utils/contextUtils"; import { getEmbeddedMavenWrapper, getMaven } from "../utils/mavenUtils"; import { Utils } from "../utils/Utils"; import { Archetype } from "./Archetype"; import { buildArchetypeGenerateArgs, getMavenExecutableOptionArgs } from "./archetypeCommand"; import { runSteps, selectArchetypeStep, selectParentPomStep, specifyArchetypeVersionStep, specifyArtifactIdStep, specifyGroupIdStep, specifyTargetFolderStep } from "./createProject"; import { IProjectCreationMetadata, IProjectCreationStep } from "./createProject/types"; import { importProjectOnDemand, promptOnDidProjectCreated } from "./utils"; import { XmlTagName, detectDocumentIndent, getChildrenByTags, getTextFromNode, parseDocument } from "../utils/lexerUtils"; const REMOTE_ARCHETYPE_CATALOG_URL = "https://repo.maven.apache.org/maven2/archetype-catalog.xml"; export class ArchetypeModule { public static async createMavenModule(entry: Uri | IProjectCreationMetadata | undefined): Promise { const metadata: IProjectCreationMetadata = { title: "New Maven Module", targetFolderHint: workspace.workspaceFolders?.[0]?.uri.fsPath }; if (entry instanceof Uri) { metadata.targetFolderHint = entry.fsPath; } else if (typeof entry === 'object') { Object.assign(metadata, entry); } const steps: IProjectCreationStep[] = []; if (!metadata.parentProject) { steps.push(selectParentPomStep); } if (!metadata.groupId) { steps.push(specifyGroupIdStep); } if (!metadata.artifactId) { steps.push(specifyArtifactIdStep); } if (!metadata.targetFolder) { steps.push(specifyTargetFolderStep); } await ArchetypeModule.scaffoldMavenProject(steps, metadata); } public static async createMavenProject(entry: Uri | IProjectCreationMetadata | undefined): Promise { const metadata: IProjectCreationMetadata = { title: "New Maven Project", targetFolderHint: workspace.workspaceFolders?.[0]?.uri.fsPath }; if (entry instanceof Uri) { metadata.targetFolderHint = entry.fsPath; } else if (typeof entry === 'object') { Object.assign(metadata, entry); } const steps: IProjectCreationStep[] = []; if (!metadata.archetypeArtifactId || !metadata.archetypeGroupId || !metadata.archetypeVersion) { steps.push(selectArchetypeStep, specifyArchetypeVersionStep); } if (!metadata.groupId) { steps.push(specifyGroupIdStep); } if (!metadata.artifactId) { steps.push(specifyArtifactIdStep); } if (!metadata.targetFolder) { steps.push(specifyTargetFolderStep); } await ArchetypeModule.scaffoldMavenProject(steps, metadata); } private static async scaffoldMavenProject(steps: IProjectCreationStep[], metadata: IProjectCreationMetadata): Promise { const success: boolean = await runSteps(steps, metadata); if (success) { if (metadata.archetypeArtifactId && metadata.archetypeGroupId && metadata.archetypeVersion) { sendInfo("", { archetypeArtifactId: metadata.archetypeArtifactId, archetypeGroupId: metadata.archetypeGroupId, archetypeVersion: metadata.archetypeVersion, triggerfrom: metadata.title, }); await executeInTerminalHandler(metadata); } else { sendInfo("", { archetypeArtifactId: "No Archetype", triggerfrom: metadata.title, }); await createBasicMavenProject(metadata); } } } public static async updateArchetypeCatalog(): Promise { const xml: string = await Utils.downloadFile(REMOTE_ARCHETYPE_CATALOG_URL, true); const archetypes: Archetype[] = await ArchetypeModule.listArchetypeFromXml(xml); const targetFilePath: string = path.join(getPathToExtensionRoot(), "resources", "archetypes.json"); await fse.ensureFile(targetFilePath); await fse.writeJSON(targetFilePath, archetypes); } public static async listArchetypeFromXml(xmlString: string): Promise { try { const xmlObject: any = await Utils.parseXmlContent(xmlString); const catalog: any = xmlObject && xmlObject["archetype-catalog"]; const dict: { [key: string]: Archetype } = {}; const archetypeList: any[] = catalog.archetypes[0].archetype; archetypeList.forEach(archetype => { const groupId: string = archetype.groupId && archetype.groupId[0]; const artifactId: string = archetype.artifactId && archetype.artifactId[0]; const description: string = archetype.description && archetype.description[0]; const version: string = archetype.version && archetype.version[0]; const repository: string = archetype.repository && archetype.repository[0]; const identifier = `${groupId}:${artifactId}`; if (dict[identifier] === undefined) { dict[identifier] = new Archetype(artifactId, groupId, repository, description); } if (dict[identifier].versions.indexOf(version) < 0) { dict[identifier].versions.push(version); } }); return Object.keys(dict).map((k: string) => dict[k]); } catch (err) { console.error(err); } return []; } } async function executeInTerminalHandler(metadata: IProjectCreationMetadata): Promise { const { archetypeArtifactId, archetypeGroupId, archetypeVersion, groupId, artifactId, targetFolder } = metadata; if (archetypeArtifactId === undefined || archetypeGroupId === undefined || archetypeVersion === undefined || groupId === undefined || artifactId === undefined || targetFolder === undefined) { throw new Error("Project creation information is incomplete."); } let cwd: string | undefined = targetFolder; let mvnPath: string | undefined = await getMaven(); const useEmbeddedMaven: boolean = mvnPath === undefined; const cmdArgs: string[] = buildArchetypeGenerateArgs({ archetypeArtifactId, archetypeGroupId, archetypeVersion, groupId, artifactId, outputDirectory: useEmbeddedMaven ? targetFolder : undefined }); if (mvnPath === undefined) { mvnPath = getEmbeddedMavenWrapper(); cwd = path.dirname(mvnPath); } if (mvnPath === undefined) { return; } const useCmdOnWindows: boolean = vscode.env.remoteName === undefined && process.platform === "win32"; const mvnCommand: string = useCmdOnWindows ? mvnPath : await mavenTerminal.formattedPathForTerminal(mvnPath); const defaultArgs: string | string[] | undefined = Settings.Executable.optionsValue(targetFolder); const mvnSettingsFile: string | undefined = Settings.getSettingsFilePath(); const mvnSettingsPath: string | undefined = mvnSettingsFile && (useCmdOnWindows ? mvnSettingsFile : await mavenTerminal.formattedPathForTerminal(mvnSettingsFile)); const mvnSettingsArgs: string[] = mvnSettingsPath ? ["-s", mvnSettingsPath] : []; const args: string[] = [...cmdArgs, ...getMavenExecutableOptionArgs(defaultArgs), ...mvnSettingsArgs]; const options: vscode.ShellExecutionOptions = { cwd, env: Settings.getEnvironment(targetFolder) }; if (useCmdOnWindows) { // VS Code launched in Windows Desktop. options.shellQuoting = shellQuotes.cmd; options.executable = "cmd.exe"; options.shellArgs = ["/c"]; } else { options.shellQuoting = shellQuotes.bash; } const execution = new vscode.ShellExecution(mvnCommand, args, options); const createProjectTask = new vscode.Task({ type: "maven", targetFolder, artifactId }, vscode.TaskScope.Global, "createProject", "maven", execution); vscode.tasks.executeTask(createProjectTask); } async function createBasicMavenProject(metadata: IProjectCreationMetadata): Promise { const { groupId, artifactId, targetFolder } = metadata; if (!groupId || !artifactId || !targetFolder) { return; } const task = async (p: vscode.Progress<{ message?: string; increment?: number }>) => { // copy from template p.report({ message: "Generating project from template...", increment: 10 }); const templateUri = vscode.Uri.file(getPathToExtensionRoot("resources", "projectTemplate")); const targetUri = vscode.Uri.joinPath(vscode.Uri.file(targetFolder), artifactId); await workspace.fs.copy(templateUri, targetUri, { overwrite: true }); // update groupId/artifactId in pom.xml p.report({ message: "Updating pom.xml file...", increment: 10 }); const pomUri = vscode.Uri.joinPath(targetUri, "pom.xml"); let pomContent = (await workspace.fs.readFile(pomUri)).toString(); let parentPom = ""; const compilerSource = metadata.parentProject?.getProperty("maven.compiler.source") || "17"; const compilerTarget = metadata.parentProject?.getProperty("maven.compiler.target") || "17"; if (metadata.parentProject) { parentPom = ` \n` + ` ${metadata.parentProject.groupId}\n` + ` ${metadata.parentProject.artifactId}\n` + ` ${metadata.parentProject.version}\n` + ` \n`; } pomContent = pomContent.replace("${parentPom}", parentPom); pomContent = pomContent.replace("${groupId}", groupId); pomContent = pomContent.replace("${artifactId}", artifactId); pomContent = pomContent.replace("${javaSourceVersion}", compilerSource); pomContent = pomContent.replace("${javaTargetVersion}", compilerTarget); await workspace.fs.writeFile(pomUri, Buffer.from(pomContent)); // create source files p.report({ message: "Creating source files...", increment: 20 }); await vscode.workspace.fs.createDirectory(vscode.Uri.joinPath(targetUri, "src", "main", "java")); await vscode.workspace.fs.createDirectory(vscode.Uri.joinPath(targetUri, "src", "main", "resources")); await vscode.workspace.fs.createDirectory(vscode.Uri.joinPath(targetUri, "src", "test", "java")); const packageUri = vscode.Uri.joinPath(targetUri, "src", "main", "java", ...groupId.split(".")); await vscode.workspace.fs.createDirectory(packageUri); const mainUri = vscode.Uri.joinPath(packageUri, "Main.java"); const content: string = [ `package ${groupId};`, "", "public class Main {", " public static void main(String[] args) {", " System.out.println(\"Hello world!\");", " }", "}" ].join("\n"); await vscode.workspace.fs.writeFile(mainUri, Buffer.from(content)); // Update parent pom on demand if (metadata.parentProject) { p.report({ message: "Update parent pom.xml...", increment: 20 }); await updateParentPom(metadata.parentProject.pomPath, artifactId); } // Import the new module as a Java project p.report({ message: "Import the new module as Java project...", increment: 20 }); importProjectOnDemand(targetFolder); }; await vscode.window.withProgress({ location: vscode.ProgressLocation.Notification, }, task); await promptOnDidProjectCreated(artifactId, targetFolder); } async function updateParentPom(parentPomPath: string, subModuleName: string): Promise { if (!await fse.pathExists(parentPomPath)) { return; } const pomDocument = await workspace.openTextDocument(parentPomPath); const documentText = pomDocument.getText(); const xmlDocument = await parseDocument(documentText); if (!xmlDocument) { return; } const projectNodes = getChildrenByTags(xmlDocument, [XmlTagName.Project]); if (!projectNodes.length) { return; } const indentInfo = detectDocumentIndent(xmlDocument, documentText) || { indent: 2, indentChar: " ", }; const basicNodes = getChildrenByTags(projectNodes[0], [XmlTagName.GroupId, XmlTagName.ArtifactId, XmlTagName.Version]); let nextInsertOffset = -1; basicNodes.forEach(node => { if (node.endIndex) { if (nextInsertOffset == -1) { nextInsertOffset = node.endIndex; } else { nextInsertOffset = Math.max(nextInsertOffset, node.endIndex); } } }); nextInsertOffset++; const parentPomUri = Uri.file(parentPomPath); const packagingNodes = getChildrenByTags(projectNodes[0], [XmlTagName.Packaging]); const workspaceEdit = new vscode.WorkspaceEdit(); // Update the packaging mode to pom. if (packagingNodes.length) { const node = packagingNodes[0].firstChild; if (node && getTextFromNode(node) === "pom") { // it's already packaging as pom, do nothing } else { workspaceEdit.replace(parentPomUri, new vscode.Range( pomDocument.positionAt(packagingNodes[0].startIndex ?? 0), pomDocument.positionAt(packagingNodes[0].endIndex ? packagingNodes[0].endIndex + 1 : 0) ), "pom"); } nextInsertOffset = packagingNodes[0].endIndex ? packagingNodes[0].endIndex + 1 : nextInsertOffset; } else { workspaceEdit.insert(parentPomUri, pomDocument.positionAt(nextInsertOffset), `\n${genIndent(indentInfo.indentChar, indentInfo.indent)}pom`); } // Add new module as a child module of parent pom. const moduleNodes = getChildrenByTags(projectNodes[0], [XmlTagName.Modules]); if (moduleNodes.length) { const modules = getChildrenByTags(moduleNodes[0], [XmlTagName.Module]); if (modules.length) { const lastModule = modules[modules.length - 1]; nextInsertOffset = lastModule.endIndex ? (lastModule.endIndex || 0) + 1 : nextInsertOffset; workspaceEdit.insert(parentPomUri, pomDocument.positionAt(nextInsertOffset), `\n${genIndent(indentInfo.indentChar, indentInfo.indent * 2)}${subModuleName}`); } else { workspaceEdit.replace(parentPomUri, new vscode.Range( pomDocument.positionAt(moduleNodes[0].startIndex ?? 0), pomDocument.positionAt(moduleNodes[0].endIndex ? moduleNodes[0].endIndex + 1 : 0) ), `\n` + `${genIndent(indentInfo.indentChar, indentInfo.indent * 2)}${subModuleName}\n` + `${genIndent(indentInfo.indentChar, indentInfo.indent)}`); } } else { workspaceEdit.insert(parentPomUri, pomDocument.positionAt(nextInsertOffset), `\n${genIndent(indentInfo.indentChar, indentInfo.indent)}\n` + `${genIndent(indentInfo.indentChar, indentInfo.indent * 2)}${subModuleName}\n` + `${genIndent(indentInfo.indentChar, indentInfo.indent)}`); } await vscode.workspace.applyEdit(workspaceEdit); await pomDocument?.save(); } function genIndent(indentChar: string, indentSize: number): string { let ret = ""; for (let i = 0; i < indentSize; i++) { ret += indentChar; } return ret; } export class ArchetypeMetadata { public groupId: string; public artifactId: string; public versions: string[]; public version: string; public isLoadMore: boolean; } // see https://github.com/microsoft/vscode/blob/dddbfa61652de902c75436d250a50c71501da2d7/src/vs/workbench/contrib/tasks/browser/terminalTaskSystem.ts#L140 const shellQuotes: { [key: string]: vscode.ShellQuotingOptions } = { cmd: { strong: "\"" }, powershell: { escape: { escapeChar: "`", charsToEscape: " \"'()" }, strong: "'", weak: "\"" }, bash: { escape: { escapeChar: "\\", charsToEscape: " \"'" }, strong: "'", weak: "\"" }, zsh: { escape: { escapeChar: "\\", charsToEscape: " \"'" }, strong: "'", weak: "\"" } }; ================================================ FILE: src/archetype/archetypeCommand.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. export interface ArchetypeGenerateMetadata { archetypeArtifactId: string; archetypeGroupId: string; archetypeVersion: string; groupId: string; artifactId: string; outputDirectory?: string; } export function buildArchetypeGenerateArgs(metadata: ArchetypeGenerateMetadata): string[] { return [ // explicitly using 3.1.2 as maven-archetype-plugin:3.0.1 ignores -DoutputDirectory // see https://github.com/microsoft/vscode-maven/issues/478 "org.apache.maven.plugins:maven-archetype-plugin:3.1.2:generate", `-DarchetypeArtifactId=${metadata.archetypeArtifactId}`, `-DarchetypeGroupId=${metadata.archetypeGroupId}`, `-DarchetypeVersion=${metadata.archetypeVersion}`, `-DgroupId=${metadata.groupId}`, `-DartifactId=${metadata.artifactId}`, metadata.outputDirectory && `-DoutputDirectory=${metadata.outputDirectory}` ].filter((arg): arg is string => !!arg); } export function splitMavenExecutableOptions(options: string | undefined): string[] { if (!options) { return []; } const args: string[] = []; let current = ""; let quote: string | undefined; const trimmed = options.trim(); for (let i = 0; i < trimmed.length; i++) { const ch = trimmed[i]; if (quote) { if (ch === quote) { quote = undefined; } else { current += ch; } continue; } if (ch === "\"" || ch === "'") { quote = ch; continue; } if (/\s/.test(ch)) { if (current) { args.push(current); current = ""; } continue; } current += ch; } if (current) { args.push(current); } return args; } export function getMavenExecutableOptionArgs(options: string | string[] | undefined): string[] { return Array.isArray(options) ? options : splitMavenExecutableOptions(options); } ================================================ FILE: src/archetype/createProject/SelectArchetypeStep.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as fse from "fs-extra"; import * as path from "path"; import { Disposable, QuickInputButtons, QuickPick, QuickPickItem, QuickPickItemKind, window } from "vscode"; import { getMavenLocalRepository, getPathToExtensionRoot } from "../../utils/contextUtils"; import { Archetype } from "../Archetype"; import { ArchetypeModule } from "../ArchetypeModule"; import { IProjectCreationMetadata, IProjectCreationStep, StepResult } from "./types"; interface IArchetypePickItem extends QuickPickItem { archetype?: Archetype; } const LABEL_NO_ARCHETYPE = "No Archetype..."; const LABEL_MORE = "More..."; export class SelectArchetypeStep implements IProjectCreationStep { /** * This has to be the first step, no back buttons provided for previous steps. */ public readonly previousStep: undefined; public async run(metadata: IProjectCreationMetadata): Promise { const disposables: Disposable[] = []; const specifyAchetypePromise = (items: IArchetypePickItem[]) => new Promise((resolve) => { const pickBox: QuickPick = window.createQuickPick(); pickBox.title = metadata.title; pickBox.placeholder = "Select an archetype ..."; pickBox.matchOnDescription = true; pickBox.ignoreFocusOut = true; pickBox.items = items; disposables.push( pickBox.onDidTriggerButton(async (item) => { if (item === QuickInputButtons.Back) { pickBox.items = await this.getArchetypePickItems(false); pickBox.buttons = []; } }), pickBox.onDidAccept(async () => { if (pickBox.selectedItems[0].archetype === undefined) { if (pickBox.selectedItems[0].label === LABEL_NO_ARCHETYPE) { // Basic project without archetype resolve(StepResult.NEXT); } else if (pickBox.selectedItems[0].label === LABEL_MORE) { // More archetypes... pickBox.items = await this.getArchetypePickItems(true); pickBox.buttons = [QuickInputButtons.Back]; } else { // IMPOSSIBLE console.warn(pickBox.selectedItems[0], "unexpected archetype"); } } else { metadata.archetypeArtifactId = pickBox.selectedItems[0].archetype.artifactId; metadata.archetypeGroupId = pickBox.selectedItems[0].archetype.groupId; metadata.archetype = pickBox.selectedItems[0].archetype; resolve(StepResult.NEXT); } }), pickBox.onDidHide(() => { resolve(StepResult.STOP); }) ); disposables.push(pickBox); pickBox.show(); }); try { const items = await this.getArchetypePickItems(false); return await specifyAchetypePromise(items); } finally { disposables.forEach(d => d.dispose()); } } private async getArchetypePickItems(all?: boolean): Promise { const noArchetypeButton: IArchetypePickItem = { label: LABEL_NO_ARCHETYPE, description: "", detail: "Create a basic Maven project directly.", alwaysShow: true }; const moreButton: IArchetypePickItem = { label: LABEL_MORE, description: "", detail: "Find more archetypes available in remote catalog.", alwaysShow: true }; const archetypes = await this.loadArchetypePickItems(all); const pickItems = archetypes.map(archetype => ({ archetype, label: archetype.artifactId ? `$(package) ${archetype.artifactId} ` : "More...", description: archetype.groupId ? `${archetype.groupId}` : "", detail: archetype.description })); const SEP_ARCHETYPE: IArchetypePickItem = { label: "Popular Archetypes", kind: QuickPickItemKind.Separator }; return all ? pickItems : [noArchetypeButton, moreButton, SEP_ARCHETYPE, ...pickItems]; } private async loadArchetypePickItems(all?: boolean): Promise { // from local catalog const localItems: Archetype[] = await this.getLocalArchetypeItems(); // from cached remote-catalog const remoteItems: Archetype[] = await this.getCachedRemoteArchetypeItems(); const localOnlyItems: Archetype[] = localItems.filter(localItem => !remoteItems.find(remoteItem => remoteItem.identifier === localItem.identifier)); if (all) { return [...localOnlyItems, ...remoteItems]; } else { const recommendedItems: Archetype[] = await this.getRecommendedItems(remoteItems); return [...localOnlyItems, ...recommendedItems]; } } private async getRecommendedItems(allItems: Archetype[]): Promise { // Top popular archetypes according to usage data let fixedList: string[] | undefined; try { fixedList = await fse.readJSON(path.join(getPathToExtensionRoot(), "resources", "popular_archetypes.json")); } catch (error) { console.error(error); } if (!fixedList) { return []; } else { return fixedList.map((fullname: string) => allItems.find((item: Archetype) => fullname === `${item.groupId}:${item.artifactId}`)).filter(Boolean) as Archetype[]; } } private async getLocalArchetypeItems(): Promise { const localCatalogPath: string = path.join(getMavenLocalRepository(), "archetype-catalog.xml"); if (await fse.pathExists(localCatalogPath)) { const buf: Buffer = await fse.readFile(localCatalogPath); return ArchetypeModule.listArchetypeFromXml(buf.toString()); } else { return []; } } private async getCachedRemoteArchetypeItems(): Promise { const contentPath: string = getPathToExtensionRoot("resources", "archetypes.json"); if (await fse.pathExists(contentPath)) { return (await fse.readJSON(contentPath)).map( (rawItem: Archetype) => new Archetype( rawItem.artifactId, rawItem.groupId, rawItem.repository, rawItem.description, rawItem.versions ) ); } else { return []; } } } ================================================ FILE: src/archetype/createProject/SelectParentPomStep.ts ================================================ import { pathExistsSync } from "fs-extra"; import { Disposable, QuickInputButtons, QuickPick, QuickPickItem, window } from "vscode"; import { MavenProjectManager } from "../../project/MavenProjectManager"; import { IProjectCreationMetadata, IProjectCreationStep, StepResult } from "./types"; import { MavenProject } from "../../explorer/model/MavenProject"; interface ParentPomPickItem extends QuickPickItem { parentProject?: MavenProject; } export class SelectParentPom implements IProjectCreationStep { previousStep?: IProjectCreationStep | undefined; async run(metadata: IProjectCreationMetadata): Promise { const items: ParentPomPickItem[] = [ { label: "", parentProject: undefined } ]; MavenProjectManager.projects .filter(project => project.pomPath && pathExistsSync(project.pomPath)) .map(project => { if (!project.artifactId) { // reload pom contents project.parsePom(); } return project; }) .filter(project => project.artifactId && project.groupId) .sort((a, b) => a.pomPath.length - b.pomPath.length) .forEach(project => { items.push({ label: project.artifactId, description: project.pomPath, parentProject: project, }); }); const disposables: Disposable[] = []; try { return await new Promise((resolve) => { const pickBox: QuickPick = window.createQuickPick(); pickBox.title = metadata.title; pickBox.placeholder = "Select the parent..."; pickBox.matchOnDescription = true; pickBox.ignoreFocusOut = true; pickBox.items = items; if (this.previousStep) { pickBox.buttons = [(QuickInputButtons.Back)]; disposables.push( pickBox.onDidTriggerButton((item) => { if (item === QuickInputButtons.Back) { resolve(StepResult.PREVIOUS); } }) ); } disposables.push( pickBox.onDidAccept(() => { metadata.parentProject = pickBox.selectedItems[0].parentProject; metadata.groupId = metadata.parentProject?.groupId; resolve(StepResult.NEXT); })); disposables.push( pickBox.onDidHide(() => { resolve(StepResult.STOP); })); disposables.push(pickBox); pickBox.show(); }); } finally { disposables.forEach(d => d.dispose()); } } } ================================================ FILE: src/archetype/createProject/SpecifyArchetypeVersionStep.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { Disposable, QuickInputButtons, QuickPick, QuickPickItem, window } from "vscode"; import { IProjectCreationMetadata, IProjectCreationStep, StepResult } from "./types"; export class SpecifyArchetypeVersionStep implements IProjectCreationStep { public previousStep?: IProjectCreationStep; public nextStep?: IProjectCreationStep; public async run(metadata: IProjectCreationMetadata): Promise { const disposables: Disposable[] = []; const specifyAchetypeVersionPromise = new Promise((resolve, reject) => { if (!metadata.archetype) { // Create without archetype, skip this step and remap nextStep's previousStep to this step's previousStep if (this.nextStep) { this.nextStep.previousStep = this.previousStep; } // no archetype resolve(StepResult.NEXT); return; } if (this.nextStep) { this.nextStep.previousStep = this; } if (metadata.archetype.versions === undefined) { reject("Invalid archetype selected."); return; } const pickBox: QuickPick = window.createQuickPick(); pickBox.title = metadata.title; pickBox.placeholder = `Select version of ${metadata.archetypeArtifactId}`; pickBox.items = metadata.archetype.versions.map(version => ({ label: version })); if (this.previousStep) { pickBox.buttons = [(QuickInputButtons.Back)]; disposables.push( pickBox.onDidTriggerButton((item) => { if (item === QuickInputButtons.Back) { resolve(StepResult.PREVIOUS); } }) ); } disposables.push( pickBox.onDidTriggerButton((item) => { if (item === QuickInputButtons.Back) { resolve(StepResult.PREVIOUS); } }), pickBox.onDidAccept(() => { metadata.archetypeVersion = pickBox.selectedItems[0].label; resolve(StepResult.NEXT); }), pickBox.onDidHide(() => { resolve(StepResult.STOP); }) ); disposables.push(pickBox); pickBox.show(); }); try { return await specifyAchetypeVersionPromise; } finally { disposables.forEach(d => d.dispose()); } } } ================================================ FILE: src/archetype/createProject/SpecifyArtifactIdStep.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { Disposable, InputBox, QuickInputButtons, window } from "vscode"; import { IProjectCreationMetadata, IProjectCreationStep, StepResult } from "./types"; export class SpecifyArtifactIdStep implements IProjectCreationStep { public previousStep?: IProjectCreationStep; public async run(metadata: IProjectCreationMetadata): Promise { const disposables: Disposable[] = []; const quickInputPromise = new Promise((resolve) => { const inputBox: InputBox = window.createInputBox(); inputBox.title = metadata.title; inputBox.placeholder = "e.g. demo"; inputBox.prompt = metadata.parentProject ? "Input the module name." : "Input artifact Id (also as project name) of your project."; inputBox.value = metadata.artifactId ?? "demo"; inputBox.ignoreFocusOut = true; if (this.previousStep) { inputBox.buttons = [(QuickInputButtons.Back)]; disposables.push( inputBox.onDidTriggerButton((item) => { if (item === QuickInputButtons.Back) { resolve(StepResult.PREVIOUS); } }) ); } disposables.push( inputBox.onDidChangeValue(() => { const validationMessage: string | undefined = this.artifactIdValidation(inputBox.value); inputBox.validationMessage = validationMessage; }), inputBox.onDidAccept(() => { if (!inputBox.validationMessage) { metadata.artifactId = inputBox.value; resolve(StepResult.NEXT); } }), inputBox.onDidHide(() => { resolve(StepResult.STOP); }) ); disposables.push(inputBox); inputBox.show(); }); try { return await quickInputPromise; } finally { disposables.forEach(d => d.dispose()); } } private artifactIdValidation(value: string): string | undefined { return (/^[a-z_][a-z0-9_]*(-[a-z_][a-z0-9_]*)*$/.test(value)) ? undefined : "Invalid Artifact Id"; } } ================================================ FILE: src/archetype/createProject/SpecifyGroupIdStep.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { Disposable, InputBox, QuickInputButtons, window } from "vscode"; import { IProjectCreationMetadata, IProjectCreationStep, StepResult } from "./types"; export class SpecifyGroupIdStep implements IProjectCreationStep { public previousStep?: IProjectCreationStep; public nextStep?: IProjectCreationStep; public async run(metadata: IProjectCreationMetadata): Promise { if (metadata.groupId) { // groupId already specified, skip this step // and remap nextStep's previousStep to this step's previousStep if (this.nextStep) { this.nextStep.previousStep = this.previousStep; } return StepResult.NEXT; } if (this.nextStep) { this.nextStep.previousStep = this; } const disposables: Disposable[] = []; const specifyGroupIdPromise = new Promise((resolve) => { const inputBox: InputBox = window.createInputBox(); inputBox.title = metadata.title; inputBox.placeholder = "e.g. com.example"; inputBox.prompt = "Input group Id of your project."; inputBox.value = metadata.groupId ?? (metadata.parentProject ? metadata.parentProject.groupId : "com.example"); inputBox.ignoreFocusOut = true; if (this.previousStep) { inputBox.buttons = [(QuickInputButtons.Back)]; disposables.push( inputBox.onDidTriggerButton((item) => { if (item === QuickInputButtons.Back) { resolve(StepResult.PREVIOUS); } }) ); } disposables.push( inputBox.onDidChangeValue(() => { const validationMessage: string | undefined = this.groupIdValidation(inputBox.value); // inputBox.enabled = validationMessage === undefined; inputBox.validationMessage = validationMessage; }), inputBox.onDidAccept(() => { if (!inputBox.validationMessage) { metadata.groupId = inputBox.value; resolve(StepResult.NEXT); } }), inputBox.onDidHide(() => { resolve(StepResult.STOP); }) ); disposables.push(inputBox); inputBox.show(); }); try { return await specifyGroupIdPromise; } finally { disposables.forEach(d => d.dispose()); } } private groupIdValidation(value: string): string | undefined { return (/^[a-z_][a-z0-9_]*(\.[a-z_][a-z0-9_]*)*$/.test(value)) ? undefined : "Invalid Group Id"; } } ================================================ FILE: src/archetype/createProject/SpecifyTargetFolderStep.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { pathExistsSync } from "fs-extra"; import * as path from "path"; import * as vscode from "vscode"; import { openDialogForFolder } from "../../utils/uiUtils"; import { IProjectCreationMetadata, IProjectCreationStep, StepResult } from "./types"; export class SpecifyTargetFolderStep implements IProjectCreationStep { public async run(metadata: IProjectCreationMetadata): Promise { if (!metadata.artifactId) { return StepResult.STOP; } // if parent project is specified, use its folder as default target folder. if (metadata.parentProject) { metadata.targetFolder = path.join(metadata.parentProject.pomPath, "../"); return StepResult.NEXT; } const LABEL_CHOOSE_FOLDER = "Select Destination Folder"; const OPTION_CONTINUE = "Continue"; const OPTION_CHOOSE_ANOTHER_FOLDER = "Choose another folder"; const OPTION_CHANGE_PROJECT_NAME = "Change project name"; const MESSAGE_EXISTING_FOLDER = `A folder [${metadata.artifactId}] already exists in the selected folder.`; // choose target folder. let result: vscode.Uri | undefined = await openDialogForFolder({ defaultUri: metadata.targetFolderHint !== undefined ? vscode.Uri.file(metadata.targetFolderHint) : undefined, openLabel: LABEL_CHOOSE_FOLDER }); while (result && pathExistsSync(path.join(result.fsPath, metadata.artifactId))) { const overrideChoice = await vscode.window.showWarningMessage(MESSAGE_EXISTING_FOLDER, OPTION_CONTINUE, OPTION_CHOOSE_ANOTHER_FOLDER, OPTION_CHANGE_PROJECT_NAME); if (overrideChoice === OPTION_CHOOSE_ANOTHER_FOLDER) { result = await openDialogForFolder({ defaultUri: result, openLabel: LABEL_CHOOSE_FOLDER }); } else if (overrideChoice === OPTION_CHANGE_PROJECT_NAME) { return StepResult.PREVIOUS; } else { break; } } const targetFolder: string | undefined = result?.fsPath; if (targetFolder === undefined) { return StepResult.STOP; } metadata.targetFolder = targetFolder; return StepResult.NEXT; } } ================================================ FILE: src/archetype/createProject/index.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { SelectArchetypeStep } from "./SelectArchetypeStep"; import { SelectParentPom } from "./SelectParentPomStep"; import { SpecifyArchetypeVersionStep } from "./SpecifyArchetypeVersionStep"; import { SpecifyArtifactIdStep } from "./SpecifyArtifactIdStep"; import { SpecifyGroupIdStep } from "./SpecifyGroupIdStep"; import { SpecifyTargetFolderStep } from "./SpecifyTargetFolderStep"; import { IProjectCreationMetadata, IProjectCreationStep, StepResult } from "./types"; export const selectArchetypeStep = new SelectArchetypeStep(); export const specifyArchetypeVersionStep = new SpecifyArchetypeVersionStep(); export const selectParentPomStep = new SelectParentPom(); export const specifyGroupIdStep = new SpecifyGroupIdStep(); export const specifyArtifactIdStep = new SpecifyArtifactIdStep(); export const specifyTargetFolderStep = new SpecifyTargetFolderStep(); /** * Run a group of steps to create a Maven project. * @param steps array of IProjectCreationStep to run * @param metadata stores data across steps * @returns whether all steps are successfully passed */ export const runSteps = async (steps: IProjectCreationStep[], metadata: IProjectCreationMetadata): Promise => { for (let i = 0; i < steps.length; i += 1) { steps[i].nextStep = steps[i + 1]; steps[i].previousStep = steps[i - 1]; } let step: IProjectCreationStep | undefined = steps[0]; while (step !== undefined) { const result = await step.run(metadata); switch (result) { case StepResult.NEXT: step = step.nextStep; break; case StepResult.PREVIOUS: step = step.previousStep; break; case StepResult.STOP: return false; // user cancellation default: throw new Error("invalid StepResult returned."); } } return true; }; ================================================ FILE: src/archetype/createProject/types.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { MavenProject } from "../../explorer/model/MavenProject"; import { Archetype } from "../Archetype"; export interface IProjectCreationMetadata { title: string; // Project creation title name archetype?: Archetype; // temporary cached data between steps, used to select versions archetypeArtifactId?: string; archetypeGroupId?: string; archetypeVersion?: string; groupId?: string; artifactId?: string; targetFolder?: string; targetFolderHint?: string; // default value for folder picker dialog parentProject?: MavenProject; } export interface IProjectCreationStep { /** * Specify previous step, `undefined` indicates this is the first step. */ previousStep?: IProjectCreationStep; /** * Specify next step, `undefined` indicates this is the final step. */ nextStep?: IProjectCreationStep; /** * Task to run in current step. * @param metadata stores metadata across all steps. */ run(metadata: IProjectCreationMetadata): Promise; } /** * Indicates which step to go after running task in current step. */ export enum StepResult { NEXT, STOP, PREVIOUS } ================================================ FILE: src/archetype/utils.ts ================================================ import assert = require("assert"); import path = require("path"); import * as vscode from "vscode"; import { sendInfo } from "vscode-extension-telemetry-wrapper"; import { isJavaLanguageServerStandard } from "../jdtls/commands"; // corresponding to setting values const OPEN_IN_NEW_WORKSPACE = "Open"; const OPEN_IN_CURRENT_WORKSPACE = "Add as Workspace Folder"; const OPEN_INTERACTIVE = "Interactive"; export function registerProjectCreationEndListener(context: vscode.ExtensionContext): void { context.subscriptions.push(vscode.tasks.onDidEndTaskProcess(async (e) => { if (e.execution.task.name === "createProject" && e.execution.task.source === "maven") { if (e.exitCode !== 0) { vscode.window.showErrorMessage("Failed to create the project, check terminal output for more details."); return; } const { targetFolder, artifactId } = e.execution.task.definition; const projectFolder = path.join(targetFolder, artifactId); importProjectOnDemand(projectFolder); await promptOnDidProjectCreated(artifactId, projectFolder); } })); } export async function promptOnDidProjectCreated(projectName: string, projectFolderPath: string) { // Open project either is the same workspace or new workspace const hasOpenFolder = vscode.workspace.workspaceFolders !== undefined; const choice = await specifyOpenMethod(hasOpenFolder, projectName, projectFolderPath); if (choice === OPEN_IN_NEW_WORKSPACE) { vscode.commands.executeCommand("vscode.openFolder", vscode.Uri.file(projectFolderPath), hasOpenFolder); } else if (choice === OPEN_IN_CURRENT_WORKSPACE) { assert(vscode.workspace.workspaceFolders !== undefined); if (!vscode.workspace.workspaceFolders?.find((workspaceFolder) => projectFolderPath.startsWith(workspaceFolder.uri?.fsPath))) { vscode.workspace.updateWorkspaceFolders(vscode.workspace.workspaceFolders.length, null, { uri: vscode.Uri.file(projectFolderPath) }); } } } async function specifyOpenMethod(hasOpenFolder: boolean, projectName: string, projectLocation: string) { let openMethod = vscode.workspace.getConfiguration("maven").get("projectOpenBehavior"); sendInfo("", { name: "projectOpenBehavior(from setting)", value: openMethod ?? "undefined" }, {}); if (openMethod === OPEN_INTERACTIVE) { let alreadyInCurrentWorkspace = false; if(vscode.workspace.workspaceFolders?.find(wf => projectLocation.startsWith(wf.uri.fsPath))) { alreadyInCurrentWorkspace = true; } const candidates: string[] = alreadyInCurrentWorkspace ? ["OK"] : [ OPEN_IN_NEW_WORKSPACE, hasOpenFolder ? OPEN_IN_CURRENT_WORKSPACE : undefined ].filter(Boolean) as string[]; openMethod = await vscode.window.showInformationMessage(`Maven project [${projectName}] is created under: ${projectLocation}`, ...candidates); sendInfo("", { name: "projectOpenBehavior(from choice)", value: openMethod ?? "cancelled" }, {}); } return openMethod; } export async function importProjectOnDemand(projectFolder: string) { if (!isJavaLanguageServerStandard()) { return; } let projectInCurrentWorkspace = false; if(vscode.workspace.workspaceFolders?.find(wf => projectFolder.startsWith(wf.uri.fsPath))) { projectInCurrentWorkspace = true; } if (!projectInCurrentWorkspace) { return; } const projectImportStrategy = vscode.workspace.getConfiguration("java").get("import.projectSelection"); if (projectImportStrategy === "automatic") { vscode.commands.executeCommand("java.project.import"); } else if (projectImportStrategy === "manual") { vscode.commands.executeCommand("java.project.changeImportedProjects", [vscode.Uri.file(path.join(projectFolder, "pom.xml")).toString()], [], []); } } ================================================ FILE: src/codeAction/codeActionProvider.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { Node } from "domhandler"; import * as vscode from "vscode"; import { getCurrentNode, getEnclosingTag, XmlTagName } from "../utils/lexerUtils"; class CodeActionProvider implements vscode.CodeActionProvider { public provideCodeActions(document: vscode.TextDocument, range: vscode.Range | vscode.Selection, _context: vscode.CodeActionContext, _token: vscode.CancellationToken): vscode.Command[] | undefined { const documentText: string = document.getText(); const cursorOffset: number = document.offsetAt(range.start); const currentNode: Node | undefined = getCurrentNode(documentText, cursorOffset); if (currentNode === undefined || currentNode.startIndex === null || currentNode.endIndex === null) { return undefined; } const tagNode = getEnclosingTag(currentNode); if (tagNode?.tagName === XmlTagName.Dependencies) { const addDependencyCommand: vscode.Command = { command: "maven.project.addDependency", title: "Add a dependency from Maven Central Repository...", arguments: [{ pomPath: document.uri.fsPath }] }; return [addDependencyCommand]; } return undefined; } } export const codeActionProvider: CodeActionProvider = new CodeActionProvider(); ================================================ FILE: src/codeAction/conflictResolver.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; import { diagnosticProvider, MAVEN_DEPENDENCY_CONFLICT } from "../DiagnosticProvider"; import { Dependency } from "../explorer/model/Dependency"; import { MavenProjectManager } from "../project/MavenProjectManager"; export class ConflictResolver implements vscode.CodeActionProvider { public static readonly providedCodeActionKinds: vscode.CodeActionKind[] = [ vscode.CodeActionKind.QuickFix ]; public provideCodeActions(document: vscode.TextDocument, _range: vscode.Range | vscode.Selection, context: vscode.CodeActionContext, _token: vscode.CancellationToken): vscode.CodeAction[] { return context.diagnostics .filter(diagnostic => diagnostic.code === MAVEN_DEPENDENCY_CONFLICT) .map(diagnostic => this.createCommandCodeAction(diagnostic, document)); } private createCommandCodeAction(diagnostic: vscode.Diagnostic, document: vscode.TextDocument): vscode.CodeAction { const node: Dependency | undefined = diagnosticProvider.map.get(diagnostic); if (node === undefined) { throw new Error("Failed to find Dependency."); } const gid: string = node.groupId; const aid: string = node.artifactId; const effectiveVersion: string = node.omittedStatus?.effectiveVersion ?? node.version; const actionSetVersion = new vscode.CodeAction(`Resolve conflict for ${gid}:${aid}`, vscode.CodeActionKind.QuickFix); actionSetVersion.command = { command: "maven.project.setDependencyVersion", title: "set version to", arguments: [{ pomPath: document.uri.fsPath, effectiveVersion, groupId: gid, artifactId: aid, fullDependencyText: MavenProjectManager.get(document.uri.fsPath)?.fullText }] }; actionSetVersion.diagnostics = [diagnostic]; actionSetVersion.isPreferred = true; return actionSetVersion; } } export const conflictResolver: ConflictResolver = new ConflictResolver(); ================================================ FILE: src/completion/IPomCompletionProvider.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { Node } from "domhandler"; import * as vscode from "vscode"; export interface IPomCompletionProvider { provideCompletionItems(document: vscode.TextDocument, position: vscode.Position, currentNode: Node ): Promise; } ================================================ FILE: src/completion/PomCompletionProvider.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { Node } from "domhandler"; import * as vscode from "vscode"; import { isXmlExtensionEnabled } from "../utils/extensionUtils"; import { getCurrentNode } from "../utils/lexerUtils"; import { ArtifactProvider } from "./providers/ArtifactProvider"; import { IXmlCompletionProvider } from "./providers/IXmlCompletionProvider"; import { PropertiesProvider } from "./providers/PropertiesProvider"; import { SchemaProvider } from "./providers/SchemaProvider"; import { SnippetProvider } from "./providers/SnippetProvider"; import { Settings } from "../Settings"; export class PomCompletionProvider implements vscode.CompletionItemProvider { private providers: IXmlCompletionProvider[]; constructor() { const providers = [ new SnippetProvider(), new PropertiesProvider(), ]; if (Settings.isGAVCompletionEnabled()) { providers.push(new ArtifactProvider()); } if (!isXmlExtensionEnabled()) { providers.push(new SchemaProvider()); } this.providers = providers; } async provideCompletionItems(document: vscode.TextDocument, position: vscode.Position, _token: vscode.CancellationToken, _context: vscode.CompletionContext): Promise | undefined> { const documentText: string = document.getText(); const cursorOffset: number = document.offsetAt(position); const currentNode: Node | undefined = getCurrentNode(documentText, cursorOffset); if (currentNode === undefined || currentNode.startIndex === null || currentNode.endIndex === null) { return undefined; } const ret = []; for (const provider of this.providers) { ret.push(...await provider.provide(document, position, currentNode)); } return ret; } } ================================================ FILE: src/completion/constants.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. export const COMMAND_COMPLETION_ITEM_SELECTED = "maven.completion.selected"; export const INFO_COMPLETION_ITEM_SELECTED = "completion-item-selected"; // each should have a corresponding command maven.goal.xxx export const DEFAULT_MAVEN_LIFECYCLES: string[] = ["clean", "validate", "compile", "test", "test-compile", "package", "verify", "install", "site", "deploy"]; ================================================ FILE: src/completion/providers/ArtifactProvider.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { Element, isTag, Node } from "domhandler"; import * as _ from "lodash"; import * as vscode from "vscode"; import { getTextFromNode, XmlTagName } from "../../utils/lexerUtils"; import { FromCentral } from "./artifact/FromCentral"; import { FromIndex } from "./artifact/FromIndex"; import { FromLocal } from "./artifact/FromLocal"; import { IXmlCompletionProvider } from "./IXmlCompletionProvider"; const DEFAULT_GROUP_ID = "org.apache.maven.plugins"; export class ArtifactProvider implements IXmlCompletionProvider { private centralProvider; private indexProvider; private localProvider; constructor() { this.centralProvider = new FromCentral(); this.indexProvider = new FromIndex(); this.localProvider = new FromLocal(); } async provide(document: vscode.TextDocument, position: vscode.Position, currentNode: Node): Promise { let tagNode: Element | undefined; if (isTag(currentNode)) { tagNode = currentNode; } else if (currentNode.parent && isTag(currentNode.parent)) { tagNode = currentNode.parent; } else { // TODO: should we recursively traverse up to find nearest tag node? return []; } switch (tagNode.tagName) { case XmlTagName.GroupId: { const groupIdTextNode = tagNode.firstChild; const targetRange: vscode.Range | undefined = getRange(groupIdTextNode, document, position); if (!targetRange) { return [] } const siblingNodes: Node[] = tagNode.parent?.children ?? []; const artifactIdNode: Element | undefined = siblingNodes.find(elem => isTag(elem) && elem.tagName === XmlTagName.ArtifactId) as Element | undefined; const artifactIdTextNode = artifactIdNode?.firstChild; const groupIdHint: string = getTextFromNode(groupIdTextNode); const artifactIdHint: string = getTextFromNode(artifactIdTextNode); const centralItems: vscode.CompletionItem[] = await this.centralProvider.getGroupIdCandidates(groupIdHint, artifactIdHint); const indexItems: vscode.CompletionItem[] = await this.indexProvider.getGroupIdCandidates(groupIdHint, artifactIdHint); const localItems: vscode.CompletionItem[] = await this.localProvider.getGroupIdCandidates(groupIdHint); const mergedItems: vscode.CompletionItem[] = _.unionBy(centralItems, indexItems, localItems, (item) => item.insertText); mergedItems.forEach(item => item.range = targetRange); return mergedItems; } case XmlTagName.ArtifactId: { const artifactIdTextNode = tagNode.firstChild; const targetRange: vscode.Range | undefined = getRange(artifactIdTextNode, document, position); if (!targetRange) { return [] } const siblingNodes: Node[] = tagNode.parent?.children ?? []; const groupIdNode: Element | undefined = siblingNodes.find(elem => isTag(elem) && elem.tagName === XmlTagName.GroupId) as Element | undefined; const groupIdTextNode = groupIdNode?.firstChild; const groupIdHint: string = getTextFromNode(groupIdTextNode); const artifactIdHint: string = getTextFromNode(artifactIdTextNode); const centralItems: vscode.CompletionItem[] = await this.centralProvider.getArtifactIdCandidates(groupIdHint, artifactIdHint); const indexItems: vscode.CompletionItem[] = await this.indexProvider.getArtifactIdCandidates(groupIdHint, artifactIdHint); const localItems: vscode.CompletionItem[] = await this.localProvider.getArtifactIdCandidates(groupIdHint); let mergedItems: vscode.CompletionItem[] = []; const ID_SEPARATOR = ":"; mergedItems = _.unionBy(centralItems, indexItems, localItems, (item) => _.get(item, "data.groupId") + ID_SEPARATOR + item.insertText); mergedItems = dedupItemsWithGroupId(mergedItems, groupIdHint); // also update corresponding groupId node if (groupIdTextNode && groupIdTextNode.startIndex !== null && groupIdTextNode.endIndex !== null) { for (const item of mergedItems) { const matchedGroupId: string | undefined = _.get(item, "data.groupId"); if (matchedGroupId) { const groupIdRange: vscode.Range | undefined = getRange(groupIdTextNode, document); if (groupIdRange){ item.additionalTextEdits = [new vscode.TextEdit(groupIdRange, matchedGroupId)]; } } } } mergedItems.forEach(item => item.range = targetRange); return mergedItems; } case XmlTagName.Version: { const versionTextNode = tagNode.firstChild; const targetRange: vscode.Range | undefined = getRange(versionTextNode, document, position); if (!targetRange) { return [] } const siblingNodes: Node[] = tagNode.parent?.children ?? []; const groupIdNode: Element | undefined = siblingNodes.find(elem => isTag(elem) && elem.tagName === XmlTagName.GroupId) as Element | undefined; const artifactIdNode: Element | undefined = siblingNodes.find(elem => isTag(elem) && elem.tagName === XmlTagName.ArtifactId) as Element | undefined; const groupIdHint: string = getTextFromNode(groupIdNode?.firstChild, DEFAULT_GROUP_ID); const artifactIdHint: string = getTextFromNode(artifactIdNode?.firstChild); if (!groupIdHint || !artifactIdHint) { return []; } const centralItems: vscode.CompletionItem[] = await this.centralProvider.getVersionCandidates(groupIdHint, artifactIdHint); const indexItems: vscode.CompletionItem[] = await this.indexProvider.getVersionCandidates(groupIdHint, artifactIdHint); const localItems: vscode.CompletionItem[] = await this.localProvider.getVersionCandidates(groupIdHint, artifactIdHint); const mergedItems: vscode.CompletionItem[] = _.unionBy(centralItems, indexItems, localItems, (item) => item.insertText); mergedItems.forEach(item => item.range = targetRange); return mergedItems; } } return []; } } function getRange(node: Node | null, document: vscode.TextDocument, fallbackPosition?: vscode.Position) { if (fallbackPosition) { return new vscode.Range( node?.startIndex ? document.positionAt(node.startIndex) : fallbackPosition, node?.endIndex ? document.positionAt(node.endIndex + 1) : fallbackPosition ); } else if (node !== null && node.startIndex !== null && node.endIndex !== null) { return new vscode.Range( document.positionAt(node.startIndex), document.positionAt(node.endIndex + 1) ); } else { return undefined; } } function dedupItemsWithGroupId(items: vscode.CompletionItem[], groupId: string): vscode.CompletionItem[] { const itemsWithGivenGroupId: vscode.CompletionItem[] = items.filter(item => _.get(item, "data.groupId") === groupId); const reservedArtifactIds: (string|vscode.SnippetString|undefined)[] = itemsWithGivenGroupId.map(item => item.insertText); const dedupedItems = items.filter((item) => !reservedArtifactIds.includes(item.insertText)); return itemsWithGivenGroupId.concat(dedupedItems); } ================================================ FILE: src/completion/providers/IXmlCompletionProvider.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { Node } from "domhandler"; import * as vscode from "vscode"; export interface IXmlCompletionProvider { provide(document: vscode.TextDocument, position: vscode.Position, currentNode: Node): Promise; } ================================================ FILE: src/completion/providers/PropertiesProvider.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { Element, isTag, Node } from "domhandler"; import * as vscode from "vscode"; import { MavenProjectManager } from "../../project/MavenProjectManager"; import { XmlTagName } from "../../utils/lexerUtils"; import { trimBrackets } from "../utils"; import { IXmlCompletionProvider } from "./IXmlCompletionProvider"; export class PropertiesProvider implements IXmlCompletionProvider { async provide(document: vscode.TextDocument, position: vscode.Position, currentNode: Node): Promise { let tagNode: Element | undefined; if (isTag(currentNode)) { tagNode = currentNode; } else if (currentNode.parent && isTag(currentNode.parent)) { tagNode = currentNode.parent; } else { // TODO: should we recursively traverse up to find nearest tag node? return []; } const documentText = document.getText(); const cursorOffset = document.offsetAt(position); const eol = document.eol === vscode.EndOfLine.LF ? "\n" : "\r\n"; const ret: vscode.CompletionItem[] = []; switch (tagNode.tagName) { case XmlTagName.Properties: { const project = MavenProjectManager.get(document.uri.fsPath); const props = await project?.getProperties(); if (props) { const propertyToCompletionItem = (prop: string) => { const item = new vscode.CompletionItem(prop, vscode.CompletionItemKind.Property); const insertText = `<${prop}>$1${eol}$0`; const snippetContent: string = trimBrackets(insertText, documentText, cursorOffset); item.insertText = new vscode.SnippetString(snippetContent); return item; } const items = props.map(propertyToCompletionItem); ret.push(...items); } } } return ret; } } ================================================ FILE: src/completion/providers/SchemaProvider.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { Node } from "domhandler"; import * as vscode from "vscode"; import { getNodePath } from "../../utils/lexerUtils"; import { getXsdElement, XSDElement } from "../../mavenXsd"; import { trimBrackets } from "../utils"; import { IXmlCompletionProvider } from "./IXmlCompletionProvider"; export class SchemaProvider implements IXmlCompletionProvider { async provide(document: vscode.TextDocument, position: vscode.Position, currentNode: Node): Promise { const documentText = document.getText(); const cursorOffset = document.offsetAt(position); const eol = document.eol === vscode.EndOfLine.LF ? "\n" : "\r\n"; const nodePath = getNodePath(currentNode); const elem = getXsdElement(nodePath); const defToCompletionItem = (e: XSDElement) => { const name = e.name; const item = new vscode.CompletionItem(name, vscode.CompletionItemKind.Property); let insertText; if (e.isLeaf) { // | insertText = `<${name}>$1$0`; } else { // // | // insertText = [`<${name}>`, "\t$0", ``].join(eol); } const snippetContent: string = trimBrackets(insertText, documentText, cursorOffset); item.insertText = new vscode.SnippetString(snippetContent); if (e.isDeprecated) { item.tags = [vscode.CompletionItemTag.Deprecated] } item.documentation = e.markdownString; // trigger completion again immediately for non-leaf node if (!e.isLeaf) { item.command = { command: "editor.action.triggerSuggest", title: "Trigger Suggest" }; } return item; } const items = elem?.candidates.map(defToCompletionItem) ?? []; return items; } } ================================================ FILE: src/completion/providers/SnippetProvider.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { Element, isTag, Node } from "domhandler"; import * as vscode from "vscode"; import { XmlTagName } from "../../utils/lexerUtils"; import { COMMAND_COMPLETION_ITEM_SELECTED } from "../constants"; import { trimBrackets } from "../utils"; import { IXmlCompletionProvider } from "./IXmlCompletionProvider"; const artifactSegments: string[] = [ "\t$1", "\t$2", ]; const dependencySnippetString = (eol: string) => [ "", ...artifactSegments, "" ].join(eol); const pluginSnippetString = (eol: string) => [ "", ...artifactSegments, "" ].join(eol); export class SnippetProvider implements IXmlCompletionProvider { async provide(document: vscode.TextDocument, position: vscode.Position, currentNode: Node): Promise { let tagNode: Element | undefined; if (isTag(currentNode)) { tagNode = currentNode; } else if (currentNode.parent && isTag(currentNode.parent)) { tagNode = currentNode.parent; } else { // TODO: should we recursively traverse up to find nearest tag node? return []; } const documentText = document.getText(); const cursorOffset = document.offsetAt(position); const eol = document.eol === vscode.EndOfLine.LF ? "\n" : "\r\n"; const ret: vscode.CompletionItem[] = []; switch (tagNode.tagName) { case XmlTagName.Dependencies: { const snippetItem: vscode.CompletionItem = new vscode.CompletionItem("dependency", vscode.CompletionItemKind.Snippet); const snippetContent: string = trimBrackets(dependencySnippetString(eol), documentText, cursorOffset); const dependencySnippet: vscode.SnippetString = new vscode.SnippetString(snippetContent); snippetItem.insertText = dependencySnippet; snippetItem.detail = "Maven Snippet"; snippetItem.command = { title: "selected", command: COMMAND_COMPLETION_ITEM_SELECTED, arguments: [{ completeFor: "dependency", source: "snippet" }] }; ret.push(snippetItem); break; } case XmlTagName.Plugins: { const snippetItem: vscode.CompletionItem = new vscode.CompletionItem("plugin", vscode.CompletionItemKind.Snippet); const snippetContent: string = trimBrackets(pluginSnippetString(eol), documentText, cursorOffset); const pluginSnippet: vscode.SnippetString = new vscode.SnippetString(snippetContent); snippetItem.insertText = pluginSnippet; snippetItem.detail = "Maven Snippet"; snippetItem.command = { title: "selected", command: COMMAND_COMPLETION_ITEM_SELECTED, arguments: [{ completeFor: "plugin", source: "snippet" }] }; ret.push(snippetItem); break; } default: } return ret; } } ================================================ FILE: src/completion/providers/artifact/FromCentral.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; import { getArtifacts, getVersions, IArtifactMetadata, IVersionMetadata } from "../../../utils/requestUtils"; import { COMMAND_COMPLETION_ITEM_SELECTED, INFO_COMPLETION_ITEM_SELECTED } from "../../constants"; import { IArtifactCompletionProvider } from "./IArtifactProvider"; import { getSortText } from "../../utils"; export class FromCentral implements IArtifactCompletionProvider { public async getGroupIdCandidates(groupIdHint: string, artifactIdHint: string): Promise { const keywords: string[] = [...groupIdHint.split("."), ...artifactIdHint.split("-")]; const docs: IArtifactMetadata[] = await getArtifacts(keywords); const groupIds: string[] = Array.from(new Set(docs.map(doc => doc.g)).values()); const commandOnSelection: vscode.Command = { title: "selected", command: COMMAND_COMPLETION_ITEM_SELECTED, arguments: [{ infoName: INFO_COMPLETION_ITEM_SELECTED, completeFor: "groupId", source: "maven-central" }] }; return groupIds.map(gid => { const item: vscode.CompletionItem = new vscode.CompletionItem(gid, vscode.CompletionItemKind.Module); item.insertText = gid; item.detail = "From Central Repository"; item.command = commandOnSelection; return item; }); } public async getArtifactIdCandidates(groupIdHint: string, artifactIdHint: string): Promise { const keywords: string[] = [...groupIdHint.split("."), ...artifactIdHint.split("-")]; const docs: IArtifactMetadata[] = await getArtifacts(keywords); const commandOnSelection: vscode.Command = { title: "selected", command: COMMAND_COMPLETION_ITEM_SELECTED, arguments: [{ infoName: INFO_COMPLETION_ITEM_SELECTED, completeFor: "artifactId", source: "maven-central" }] }; return docs.map(doc => { const item: vscode.CompletionItem = new vscode.CompletionItem({ label: doc.a, description: doc.g }, vscode.CompletionItemKind.Field); item.insertText = doc.a; item.detail = `GroupId: ${doc.g}`; (item as any).data = { groupId: doc.g }; item.command = commandOnSelection; return item; }); } public async getVersionCandidates(groupId: string, artifactId: string): Promise { if (!groupId && !artifactId) { return []; } const docs: IVersionMetadata[] = await getVersions(groupId, artifactId); const commandOnSelection: vscode.Command = { title: "selected", command: COMMAND_COMPLETION_ITEM_SELECTED, arguments: [{ infoName: INFO_COMPLETION_ITEM_SELECTED, completeFor: "version", source: "maven-central" }] }; return docs.map((doc) => { const updateDate = `Updated: ${new Date(doc.timestamp).toLocaleDateString()}`; const item: vscode.CompletionItem = new vscode.CompletionItem({ label: doc.v, description: updateDate }, vscode.CompletionItemKind.Constant); item.insertText = doc.v; item.detail = updateDate; item.sortText = getSortText(doc.v); item.command = commandOnSelection; return item; }); } } ================================================ FILE: src/completion/providers/artifact/FromIndex.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; import { IArtifactSearchResult, ISearchArtifactParam, SearchType } from "../../../jdtls/artifactSearcher"; import { executeJavaLanguageServerCommand, isJavaLanguageServerStandard } from "../../../jdtls/commands"; import { COMMAND_COMPLETION_ITEM_SELECTED, INFO_COMPLETION_ITEM_SELECTED } from "../../constants"; import { IArtifactCompletionProvider } from "./IArtifactProvider"; import { getSortText } from "../../utils"; export class FromIndex implements IArtifactCompletionProvider { public async getGroupIdCandidates(groupIdHint: string, artifactIdHint: string): Promise { if (!isJavaLanguageServerStandard()) { return []; } const searchParam: ISearchArtifactParam = { searchType: SearchType.identifier, groupId: groupIdHint, artifactId: artifactIdHint }; const docs = await executeJavaLanguageServerCommand("java.maven.searchArtifact", searchParam); const groupIds: string[] = Array.from(new Set(docs.map(doc => doc.groupId)).values()); const commandOnSelection: vscode.Command = { title: "selected", command: COMMAND_COMPLETION_ITEM_SELECTED, arguments: [{ infoName: INFO_COMPLETION_ITEM_SELECTED, completeFor: "groupId", source: "maven-index" }] }; return groupIds.map(gid => { const item: vscode.CompletionItem = new vscode.CompletionItem(gid, vscode.CompletionItemKind.Module); item.insertText = gid; item.detail = "index"; item.command = commandOnSelection; return item; }); } public async getArtifactIdCandidates(groupIdHint: string, artifactIdHint: string): Promise { if (!isJavaLanguageServerStandard()) { return []; } const searchParam: ISearchArtifactParam = { searchType: SearchType.identifier, groupId: groupIdHint, artifactId: artifactIdHint }; const docs: IArtifactSearchResult[] = await executeJavaLanguageServerCommand("java.maven.searchArtifact", searchParam); const commandOnSelection: vscode.Command = { title: "selected", command: COMMAND_COMPLETION_ITEM_SELECTED, arguments: [{ infoName: INFO_COMPLETION_ITEM_SELECTED, completeFor: "artifactId", source: "maven-index" }] }; return docs.map(doc => { const item: vscode.CompletionItem = new vscode.CompletionItem({ label: doc.artifactId, detail: "detail", description: doc.groupId }, vscode.CompletionItemKind.Field); item.insertText = doc.artifactId; item.detail = `GroupId: ${doc.groupId}`; (item as any).data = { groupId: doc.groupId }; item.command = commandOnSelection; return item; }); } public async getVersionCandidates(groupId: string, artifactId: string): Promise { if (!groupId && !artifactId) { return []; } if (!isJavaLanguageServerStandard()) { return []; } const searchParam: ISearchArtifactParam = { searchType: SearchType.identifier, groupId, artifactId }; const docs: IArtifactSearchResult[] = await executeJavaLanguageServerCommand("java.maven.searchArtifact", searchParam); const commandOnSelection: vscode.Command = { title: "selected", command: COMMAND_COMPLETION_ITEM_SELECTED, arguments: [{ infoName: INFO_COMPLETION_ITEM_SELECTED, completeFor: "version", source: "maven-index" }] }; return docs.map((doc) => { const item: vscode.CompletionItem = new vscode.CompletionItem(doc.version, vscode.CompletionItemKind.Constant); item.insertText = doc.version; item.sortText = getSortText(doc.version); item.command = commandOnSelection; return item; }); } } ================================================ FILE: src/completion/providers/artifact/FromLocal.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as fg from "fast-glob"; import * as _ from "lodash"; import * as path from "path"; import * as vscode from "vscode"; import { getMavenLocalRepository } from "../../../utils/contextUtils"; import { COMMAND_COMPLETION_ITEM_SELECTED, INFO_COMPLETION_ITEM_SELECTED } from "../../constants"; import { IArtifactCompletionProvider } from "./IArtifactProvider"; import { getSortText } from "../../utils"; export class FromLocal implements IArtifactCompletionProvider { public async getGroupIdCandidates(groupIdHint: string): Promise { const packageSegments: string[] = groupIdHint.split("."); packageSegments.pop(); const validGroupIds: string[] = await this.searchForGroupIds(packageSegments); const commandOnSelection: vscode.Command = { title: "selected", command: COMMAND_COMPLETION_ITEM_SELECTED, arguments: [{ infoName: INFO_COMPLETION_ITEM_SELECTED, completeFor: "groupId", source: "maven-local" }] }; return validGroupIds.map(gid => { const item: vscode.CompletionItem = new vscode.CompletionItem(gid, vscode.CompletionItemKind.Module); item.insertText = gid; item.detail = "From Local Repository"; item.command = commandOnSelection; return item; }); } public async getArtifactIdCandidates(groupId: string): Promise { if (!groupId) { return []; } const validArtifactIds: string[] = await this.searchForArtifactIds(groupId); const commandOnSelection: vscode.Command = { title: "selected", command: COMMAND_COMPLETION_ITEM_SELECTED, arguments: [{ infoName: INFO_COMPLETION_ITEM_SELECTED, completeFor: "artifactId", source: "maven-local" }] }; return validArtifactIds.map(aid => { const item: vscode.CompletionItem = new vscode.CompletionItem({ label: aid, description: groupId }, vscode.CompletionItemKind.Field); item.insertText = aid; item.detail = `GroupId: ${groupId}`; (item as any).data = { groupId }; item.command = commandOnSelection; return item; }); } public async getVersionCandidates(groupId: string, artifactId: string): Promise { if (!groupId || !artifactId) { return []; } const validVersions: string[] = await this.searchForVersions(groupId, artifactId); const commandOnSelection: vscode.Command = { title: "selected", command: COMMAND_COMPLETION_ITEM_SELECTED, arguments: [{ infoName: INFO_COMPLETION_ITEM_SELECTED, completeFor: "version", source: "maven-local" }] }; return validVersions.map(v => { const item: vscode.CompletionItem = new vscode.CompletionItem(v, vscode.CompletionItemKind.Constant); item.insertText = v; item.detail = "From Local Repository"; item.sortText = getSortText(v); item.command = commandOnSelection; return item; }); } private async searchForGroupIds(segments: string[]): Promise { const cwd: string = path.join(getMavenLocalRepository(), ...segments); try { const entries = await fg(["**/*/*", "!**/*.*"], { onlyFiles: false, deep: 3, cwd }); const validSegments: string[] = entries.map((e: string) => e.substring(0, e.indexOf("/"))); const prefix: string = _.isEmpty(segments) ? "" : [...segments, ""].join("."); return Array.from(new Set(validSegments)).map(seg => `${prefix}${seg}`); } catch (error) { console.error(error); return []; } } private async searchForArtifactIds(groupId: string): Promise { const cwd: string = path.join(getMavenLocalRepository(), ...groupId.split(".")); try { const entries = await fg(["**/*.pom"], { deep: 3, cwd }); const validArtifactIds: string[] = entries.map((e: string) => e.substring(0, e.indexOf("/"))); return Array.from(new Set(validArtifactIds)); } catch (error) { console.error(error); return []; } } private async searchForVersions(groupId: string, artifactId: string): Promise { const cwd: string = path.join(getMavenLocalRepository(), ...groupId.split("."), artifactId); try { const entries = await fg(["*/*.pom"], { deep: 2, cwd }); return entries.map((e: string) => e.substring(0, e.indexOf("/"))); } catch (error) { console.error(error); return []; } } } ================================================ FILE: src/completion/providers/artifact/IArtifactProvider.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { CompletionItem } from "vscode"; export interface IArtifactCompletionProvider { getGroupIdCandidates(groupIdHint?: string, artifactIdHint?: string): Promise; getArtifactIdCandidates(groupIdHint?: string, artifactIdHint?: string): Promise; getVersionCandidates(groupIdHint?: string, artifactIdHint?: string, versionHint?: string): Promise; } ================================================ FILE: src/completion/utils.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as _ from "lodash"; const VERSION_VALUE_MAX = 999; const VERSION_VALUE_DIGITS = 3; // tslint:disable-next-line:export-name export function getSortText(version: string): string { const segments: string[] = version.split(/\.|-/); const [major, minor, patch] = segments.map(x => Number.parseInt(x, 10)).map(x => Number.isInteger(x) ? x : 0); return [major, minor, patch].map(v => _.padStart((VERSION_VALUE_MAX - v).toString(), VERSION_VALUE_DIGITS, "0")).join(""); } export function trimBrackets(snippetContent: string, fileContent: string, offset: number): string { let ret: string = snippetContent; // trim left "<" when previous chars contain "<" const sectionStart: number = fileContent.lastIndexOf(">", offset - 1) + 1; const preChars: string = fileContent.slice(sectionStart, offset).trim(); if (preChars.startsWith("<")) { ret = ret.slice(1, ret.length); } // trim right ">" when next char is ">" const postChar: string = fileContent[offset]; if (postChar === ">") { ret = ret.slice(0, ret.length - 1); } return ret; } ================================================ FILE: src/contentProvider.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; import { IEffectivePom } from "./explorer/model/IEffectivePom"; import { MavenProject } from "./explorer/model/MavenProject"; import { getDependencyTree } from "./handlers/dependency/showDependenciesHandler"; import { MavenProjectManager } from "./project/MavenProjectManager"; import { Utils } from "./utils/Utils"; /** * URI patterns. * vscode-maven://dependencies//Dependencies? * vscode-maven://effective-pom//EffectivePOM.xml? * vscode-maven:/// */ class MavenContentProvider implements vscode.TextDocumentContentProvider { public readonly onDidChange: vscode.Event; private _onDidChangeEmitter: vscode.EventEmitter; constructor() { this._onDidChangeEmitter = new vscode.EventEmitter(); this.onDidChange = this._onDidChangeEmitter.event; } public invalidate(uri: vscode.Uri): void { this._onDidChangeEmitter.fire(uri); } public async provideTextDocumentContent(uri: vscode.Uri, _token: vscode.CancellationToken): Promise { if (uri.scheme !== "vscode-maven") { throw new Error(`Scheme ${uri.scheme} not supported by this content provider.`); } const pomPath = uri.query; switch (uri.authority) { case "dependencies": return getDependencyTree(pomPath); case "effective-pom": { const project: MavenProject | undefined = MavenProjectManager.get(pomPath); if (project) { const effectivePom: IEffectivePom = await project.getEffectivePom(); return effectivePom.ePomString; } else { return Utils.getEffectivePom(pomPath); } } case "local-repository":{ const fsUri = uri.with({ scheme: "file", authority: "" }); return (await vscode.workspace.fs.readFile(fsUri)).toString(); } default: } return undefined; } } export const contentProvider: MavenContentProvider = new MavenContentProvider(); ================================================ FILE: src/debouncing.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as LRUCache from "lru-cache"; import * as vscode from "vscode"; export const lruCache: LRUCache = new LRUCache(32); // See: https://github.com/microsoft/vscode/blob/94c9ea46838a9a619aeafb7e8afd1170c967bb55/src/vs/base/common/numbers.ts export class MovingAverage { private _n = 1; private _val = 0; public update(value: number): this { this._val = this._val + (value - this._val) / this._n; this._n += 1; return this; } public get value(): number { return this._val; } } export function getRequestDelay(uri: vscode.Uri): number { const avg: MovingAverage | undefined = lruCache.get(uri); if (!avg) { return 350; } // See: https://github.com/microsoft/vscode/blob/94c9ea46838a9a619aeafb7e8afd1170c967bb55/src/vs/editor/common/modes/languageFeatureRegistry.ts#L204 return Math.max(350, Math.floor(1.3 * avg.value)); } ================================================ FILE: src/definition/definitionProvider.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { Element, isTag, Node } from "domhandler"; import { existsSync } from "fs"; import * as vscode from "vscode"; import { MavenProject } from "../explorer/model/MavenProject"; import { MavenProjectManager } from "../project/MavenProjectManager"; import { localPomPath, possibleLocalPomPath } from "../utils/contextUtils"; import { getCurrentNode, getEnclosingTag, getTextFromNode, XmlTagName } from "../utils/lexerUtils"; class DefinitionProvider implements vscode.DefinitionProvider { public provideDefinition(document: vscode.TextDocument, position: vscode.Position, _token: vscode.CancellationToken): vscode.ProviderResult { const documentText: string = document.getText(); const cursorOffset: number = document.offsetAt(position); const currentNode: Node | undefined = getCurrentNode(documentText, cursorOffset); if (currentNode === undefined || currentNode.startIndex === null || currentNode.endIndex === null) { return undefined; } const tagNode = getEnclosingTag(currentNode); switch (tagNode?.tagName) { case XmlTagName.GroupId: case XmlTagName.ArtifactId: case XmlTagName.Version: { const parentNode = tagNode.parent; if (!parentNode || !isTag(parentNode)) { return undefined; } if (parentNode.name === XmlTagName.Dependency || parentNode.name === XmlTagName.Plugin) { // plugin/dependency -> artifacts return getDependencyDefinitionLink(parentNode, document, position); } else if (parentNode.name === XmlTagName.Parent) { // parent -> artifact return getParentDefinitionLink(parentNode, document, position); } else { return undefined; } } case XmlTagName.Module: { return getModuleDefinitionLink(tagNode, document, position); } case XmlTagName.Parent: { return getParentDefinitionLink(tagNode, document, position); } case XmlTagName.Dependency: case XmlTagName.Plugin: { return getDependencyDefinitionLink(tagNode, document, position); } default: return undefined; } } } export const definitionProvider: DefinitionProvider = new DefinitionProvider(); function getParentDefinitionLinkFromRelativePath(parentNode: Element, document: vscode.TextDocument, position: vscode.Position) { const mavenProject: MavenProject | undefined = MavenProjectManager.get(document.uri.fsPath); if (mavenProject) { const parentPomPath = mavenProject.parentPomPath; /** * TODO: * Here only file existence is verified. * In fact, groupId, artifactId, version in parent POM should also match those in project.parent node. */ if (!parentPomPath || !existsSync(parentPomPath)) { return undefined; } const originSelectionRange: vscode.Range = new vscode.Range( parentNode && parentNode.startIndex !== null ? document.positionAt(parentNode.startIndex) : position, parentNode && parentNode.endIndex !== null ? document.positionAt(parentNode.endIndex) : position, ); const definitionLink: vscode.LocationLink = { targetRange: new vscode.Range(0, 0, 0, 0), targetUri: vscode.Uri.file(parentPomPath), originSelectionRange: originSelectionRange }; return [definitionLink]; } return undefined; } function getDependencyDefinitionLink(dependencyOrPluginNode: Element, document: vscode.TextDocument, position: vscode.Position) { const selectionRange: vscode.Range = new vscode.Range( dependencyOrPluginNode.startIndex !== null ? document.positionAt(dependencyOrPluginNode.startIndex) : position, dependencyOrPluginNode.endIndex !== null ? document.positionAt(dependencyOrPluginNode.endIndex) : position, ); const siblingNodes: Node[] = dependencyOrPluginNode.children ?? []; const artifactIdNode: Element | undefined = siblingNodes.find(elem => isTag(elem) && elem.tagName === XmlTagName.ArtifactId) as Element | undefined; const groupIdNode: Element | undefined = siblingNodes.find(elem => isTag(elem) && elem.tagName === XmlTagName.GroupId) as Element | undefined; const versionNode: Element | undefined = siblingNodes.find(elem => isTag(elem) && elem.tagName === XmlTagName.Version) as Element | undefined; const groupIdHint = getTextFromNode(groupIdNode?.firstChild); const artifactIdHint = getTextFromNode(artifactIdNode?.firstChild); const versionHint = getTextFromNode(versionNode?.firstChild); if (groupIdHint && artifactIdHint) { const mavenProject: MavenProject | undefined = MavenProjectManager.get(document.uri.fsPath); const version: string | undefined = mavenProject?.getDependencyVersion(groupIdHint, artifactIdHint) || versionHint; if (version !== undefined) { const pomPath: string = localPomPath(groupIdHint, artifactIdHint, version); if (existsSync(pomPath)) { const definitionLink: vscode.LocationLink = { targetRange: new vscode.Range(0, 0, 0, 0), targetUri: vscode.Uri.file(pomPath).with({ scheme: "vscode-maven", authority: "local-repository" }), originSelectionRange: selectionRange }; return [definitionLink]; } else { // provide all local version under gid:aid const links: vscode.DefinitionLink[] = []; const pomPaths = possibleLocalPomPath(groupIdHint, artifactIdHint); for (const p of pomPaths) { if (existsSync(p)) { links.push({ targetRange: new vscode.Range(0, 0, 0, 0), targetUri: vscode.Uri.file(p).with({ scheme: "vscode-maven", authority: "local-repository" }), originSelectionRange: selectionRange }); } } return links; } } } return undefined; } function getModuleDefinitionLink(moduleNode: Element, document: vscode.TextDocument, position: vscode.Position) { const moduleName = getTextFromNode(moduleNode.firstChild); const targetUri = vscode.Uri.joinPath(document.uri, "..", moduleName, "pom.xml"); const selectionRange: vscode.Range = new vscode.Range( moduleNode && moduleNode.startIndex !== null ? document.positionAt(moduleNode.startIndex) : position, moduleNode && moduleNode.endIndex !== null ? document.positionAt(moduleNode.endIndex) : position, ); const definitionLink: vscode.LocationLink = { targetRange: new vscode.Range(0, 0, 0, 0), targetUri, originSelectionRange: selectionRange }; return [definitionLink]; } /** * Definition of artifact specified in node. * 0. By default, the search order is relativePath > local repository > remote repository. * 1. if is explicitly empty, it's forbidden to search in relative path. */ function getParentDefinitionLink(parentNode: Element, document: vscode.TextDocument, position: vscode.Position) { const relativePathNode: Element | undefined = parentNode.childNodes.find(ch => isTag(ch) && ch.name === XmlTagName.RelativePath) as Element | undefined; if (relativePathNode && !relativePathNode.firstChild) { // to explicitly lookup parent from repository return getDependencyDefinitionLink(parentNode, document, position); } else { return getParentDefinitionLinkFromRelativePath(parentNode, document, position) ?? getDependencyDefinitionLink(parentNode, document, position); // fallback to search local repository if not found in relative path. } } ================================================ FILE: src/experimentationService.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; import { addContextProperty, sendInfo } from "vscode-extension-telemetry-wrapper"; import { getExperimentationServiceAsync, IExperimentationService, IExperimentationTelemetry, TargetPopulation } from "vscode-tas-client"; import { getExtensionId, getExtensionVersion } from "./utils/contextUtils"; class ExperimentationTelemetry implements IExperimentationTelemetry { public setSharedProperty(name: string, value: string): void { addContextProperty(name, value); } public postEvent(eventName: string, props: Map): void { const payload: any = { __event_name__: eventName }; for (const [key, value] of props) { payload[key] = value; } sendInfo("", payload); } } let expService: IExperimentationService; export function getExpService(): IExperimentationService { return expService; } export async function initExpService(context: vscode.ExtensionContext): Promise { expService = await getExperimentationServiceAsync(getExtensionId(), getExtensionVersion(), TargetPopulation.Public, new ExperimentationTelemetry(), context.globalState); } ================================================ FILE: src/explorer/EffectivePomProvider.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { EventEmitter } from "events"; import { rawEffectivePom } from "../utils/mavenUtils"; import { Utils } from "../utils/Utils"; import { IEffectivePom } from "./model/IEffectivePom"; export class EffectivePomProvider { private pomPath: string; private emitter: EventEmitter = new EventEmitter(); private isCalculating = false; constructor(pomPath: string) { this.pomPath = pomPath; this.emitter.on("complete", (_resp: IEffectivePom) => { this.isCalculating = false; }); this.emitter.on("error", (_error) => { this.isCalculating = false; }); } public async calculateEffectivePom(options?: {cacheOnly?: boolean}): Promise { if (this.isCalculating) { return new Promise((resolve, reject) => { this.emitter.once("complete", resolve); this.emitter.once("error", reject); }); } const pomPath: string = this.pomPath; try { this.isCalculating = true; const ePomString: string | undefined = await rawEffectivePom(pomPath, options); if (ePomString === undefined) { this.emitter.emit("complete", undefined); } else { const ePom: any = await Utils.parseXmlContent(ePomString); this.emitter.emit("complete", { pomPath, ePomString, ePom }); } } catch (error) { this.emitter.emit("error", error); } } public async getEffectivePom(options?: {cacheOnly?: boolean}): Promise { const promise: Promise = new Promise((resolve, reject) => { this.emitter.once("complete", (resp: IEffectivePom) => { resolve(resp); }); this.emitter.once("error", (error) => { reject(error); }); }); if (this.isCalculating) { return promise; } this.calculateEffectivePom(options).catch(console.error); return promise; } } ================================================ FILE: src/explorer/MavenExplorerProvider.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; import { TreeDataProvider } from "vscode"; import { MavenProjectManager } from "../project/MavenProjectManager"; import { Dependency } from "./model/Dependency"; import { ITreeItem } from "./model/ITreeItem"; import { MavenProject } from "./model/MavenProject"; import { PluginsMenu } from "./model/PluginsMenu"; import { WorkspaceFolder } from "./model/WorkspaceFolder"; export class MavenExplorerProvider implements TreeDataProvider { private static INSTANCE: MavenExplorerProvider; public static getInstance() { if (!this.INSTANCE) { this.INSTANCE = new MavenExplorerProvider(); } return this.INSTANCE; } public readonly onDidChangeTreeData: vscode.Event; private _onDidChangeTreeData: vscode.EventEmitter; private constructor() { this._onDidChangeTreeData = new vscode.EventEmitter(); this.onDidChangeTreeData = this._onDidChangeTreeData.event; this.refresh(); } public updateProjects(...items: MavenProject[]): void { MavenProjectManager.update(...items); } public addProject(pomPath: string): void { MavenProjectManager.add(pomPath); this.refresh(); } public removeProject(pomPath: string): void { MavenProjectManager.remove(pomPath); this.refresh(); } public async addWorkspaceFolder(folder: vscode.WorkspaceFolder): Promise { await MavenProjectManager.loadProjects(folder); this.refresh(); } public async removeWorkspaceFolder(folder: vscode.WorkspaceFolder): Promise { await MavenProjectManager.removeAllFrom(folder); this.refresh(); } public getTreeItem(element: ITreeItem): vscode.TreeItem | Thenable { return Promise.resolve(element.getTreeItem()).then(item => { item.contextValue = element.getContextValue(); return item; }); } public async getChildren(element?: ITreeItem): Promise { if (!vscode.workspace.isTrusted) { return undefined; } if (element === undefined) { // Top level elements if (!vscode.workspace.workspaceFolders) { return undefined; } if (vscode.workspace.workspaceFolders.length === 1) { // single root workspace return await new WorkspaceFolder(vscode.workspace.workspaceFolders[0]).getChildren(); } else { // multi-root workspace return vscode.workspace.workspaceFolders.map(workspaceFolder => new WorkspaceFolder(workspaceFolder)); } } else { return element.getChildren ? element.getChildren() : undefined; } } public async getParent(element: ITreeItem): Promise { if (element instanceof Dependency) { return element.parent; } else { return undefined; } } public refresh(item?: ITreeItem): void { if (item instanceof PluginsMenu) { (item as PluginsMenu).project.refreshEffectivePom().catch(console.error); } this._onDidChangeTreeData.fire(item); } } ================================================ FILE: src/explorer/decorationProvider.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; const DECORATION_CONFLICT: vscode.FileDecoration = new vscode.FileDecoration("C", "conflict", new vscode.ThemeColor("list.warningForeground")); const DECORATION_DUPLICATE: vscode.FileDecoration = new vscode.FileDecoration("D", "duplicate", new vscode.ThemeColor("list.deemphasizedForeground")); class DecorationProvider implements vscode.FileDecorationProvider { private disposables: vscode.Disposable[] = []; constructor() { this.disposables.push(vscode.window.registerFileDecorationProvider(this)); } public provideFileDecoration(uri: vscode.Uri): vscode.ProviderResult { if (uri.query === "hasConflict") { return DECORATION_CONFLICT; } else if (uri.query === "isDuplicate") { return DECORATION_DUPLICATE; } else { return null; } } public dispose(): void { this.disposables.forEach(d => d.dispose()); } } export const decorationProvider: DecorationProvider = new DecorationProvider(); ================================================ FILE: src/explorer/model/DependenciesMenu.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; import { diagnosticProvider } from "../../DiagnosticProvider"; import { parseRawDependencyDataHandler } from "../../handlers/parseRawDependencyDataHandler"; import { getPathToExtensionRoot } from "../../utils/contextUtils"; import { MavenExplorerProvider } from "../MavenExplorerProvider"; import { Dependency } from "./Dependency"; import { HintNode } from "./HintNode"; import { ITreeItem } from "./ITreeItem"; import { MavenProject } from "./MavenProject"; import { ProjectMenu } from "./Menu"; export class DependenciesMenu extends ProjectMenu implements ITreeItem { constructor(project: MavenProject) { super(project); this.name = "Dependencies"; } public getContextValue(): string { return "maven:dependenciesMenu"; } public async getChildren() : Promise { const treeNodes = await parseRawDependencyDataHandler(this.project); await diagnosticProvider.refreshDiagnostics(vscode.Uri.file(this.project.pomPath)); if (treeNodes.length === 0) { const hintNodes: HintNode[] = [new HintNode("No dependencies")]; return Promise.resolve(hintNodes); } else { return Promise.resolve(treeNodes); } } public getTreeItem(): vscode.TreeItem | Thenable { const treeItem: vscode.TreeItem = new vscode.TreeItem(this.name, vscode.TreeItemCollapsibleState.Collapsed); const uri: vscode.Uri = vscode.Uri.file(""); treeItem.resourceUri = uri.with({authority: this.project.pomPath}); // distinguish dependenciesMenu in multi-module project treeItem.tooltip = this.name; // TODO: switch to codicon folder-library after vscode's next release in early Sept. const iconFile = "library-folder.svg"; treeItem.iconPath = { light: getPathToExtensionRoot("resources", "icons", "light", iconFile), dark: getPathToExtensionRoot("resources", "icons", "dark", iconFile) }; return treeItem; } public refresh(): void { this._savePom(); MavenExplorerProvider.getInstance().refresh(this); } private _savePom(): void { const pomUri: vscode.Uri = vscode.Uri.file(this.project.pomPath); const textEditor: vscode.TextEditor | undefined = vscode.window.visibleTextEditors.find(editor => editor.document.uri.toString() === pomUri.toString()); if (textEditor !== undefined) { textEditor.document.save(); } } } ================================================ FILE: src/explorer/model/Dependency.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; import { getPathToExtensionRoot } from "../../utils/contextUtils"; import { ITreeItem } from "./ITreeItem"; import { ITreeNode } from "./ITreeNode"; import { IOmittedStatus } from "./OmittedStatus"; export class Dependency implements ITreeItem, ITreeNode { public fullArtifactName = ""; // groupId:artifactId:version:scope public projectPomPath: string; public groupId: string; public artifactId: string; public version: string; public scope: string; public omittedStatus?: IOmittedStatus; public uri: vscode.Uri; public children: Dependency[] = []; public root: Dependency; public parent: Dependency; constructor(gid: string, aid: string, version: string, scope: string, projectPomPath: string, omittedStatus?: IOmittedStatus) { this.groupId = gid; this.artifactId = aid; this.version = version; this.scope = scope; this.fullArtifactName = [gid, aid, version, scope].join(":"); this.projectPomPath = projectPomPath; this.omittedStatus = omittedStatus; } public addChild(node: Dependency): void { node.parent = this; this.children.push(node); } public getContextValue(): string { const root = this.root; let contextValue = "maven:dependency"; if (root.fullArtifactName === this.fullArtifactName) { contextValue = `${contextValue}+root`; } if (this.omittedStatus?.status === "conflict") { contextValue = `${contextValue}+conflict`; } return contextValue; } public async getChildren(): Promise { return Promise.resolve(this.children); } public getTreeItem(): vscode.TreeItem | Thenable { const label = [this.groupId, this.artifactId, this.version].join(":"); const treeItem: vscode.TreeItem = new vscode.TreeItem(label); treeItem.resourceUri = this.uri; treeItem.tooltip = this.fullArtifactName; if (this.children.length !== 0) { treeItem.collapsibleState = vscode.TreeItemCollapsibleState.Collapsed; } else { treeItem.collapsibleState = vscode.TreeItemCollapsibleState.None; } // icons if (this.omittedStatus === undefined) { treeItem.iconPath = new vscode.ThemeIcon("library"); } else if (this.omittedStatus.status === "duplicate") { const iconFile = "LibraryDuplicate.svg"; treeItem.iconPath = { light: getPathToExtensionRoot("resources", "icons", "light", iconFile), dark: getPathToExtensionRoot("resources", "icons", "dark", iconFile) }; } else if (this.omittedStatus.status === "conflict") { const iconFile = "LibraryConflict.svg"; treeItem.iconPath = { light: getPathToExtensionRoot("resources", "icons", "light", iconFile), dark: getPathToExtensionRoot("resources", "icons", "dark", iconFile) }; } // description const descriptions: string[] = []; if (!this.scope.includes("compile")) { descriptions.push(`(${this.scope})`); } if (this.omittedStatus !== undefined) { descriptions.push(this.omittedStatus.description); } treeItem.description = descriptions.join(" "); return treeItem; } } ================================================ FILE: src/explorer/model/FavoriteCommand.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; import { TreeItem } from "vscode"; import { ITreeItem } from "./ITreeItem"; import { MavenProject } from "./MavenProject"; export class FavoriteCommand implements ITreeItem { constructor(public project: MavenProject, public command: string, public alias: string, public debug?: boolean) {} getContextValue(): string { return "maven:favorites"; } getTreeItem(): TreeItem | Thenable { const treeItem: vscode.TreeItem = new vscode.TreeItem(this.command, vscode.TreeItemCollapsibleState.None); treeItem.description = this.alias; treeItem.iconPath = new vscode.ThemeIcon("gear"); return treeItem; } } ================================================ FILE: src/explorer/model/FavoritesMenu.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; import { ProjectMenu } from "./Menu"; import { ITreeItem } from "./ITreeItem"; import { MavenProject } from "./MavenProject"; import { FavoriteCommand } from "./FavoriteCommand"; import { Settings } from "../../Settings"; export class FavoritesMenu extends ProjectMenu implements ITreeItem { constructor(project: MavenProject) { super(project); this.name = "Favorites"; } public getContextValue(): string { return "maven:favoritesMenu"; } public async getChildren(): Promise { return Settings.Terminal.favorites(this.project); } public getTreeItem(): vscode.TreeItem | Thenable { const treeItem: vscode.TreeItem = new vscode.TreeItem(this.name, vscode.TreeItemCollapsibleState.Collapsed); treeItem.iconPath = new vscode.ThemeIcon("star-empty"); return treeItem; } } ================================================ FILE: src/explorer/model/HintNode.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; import { ITreeItem } from "./ITreeItem"; export class HintNode implements ITreeItem { private _msg: string; constructor(msg: string) { this._msg = msg; } public getContextValue(): string { return "maven:hint"; } public getTreeItem(): vscode.TreeItem | Thenable { const treeItem: vscode.TreeItem = new vscode.TreeItem(""); treeItem.description = this._msg; return treeItem; } } ================================================ FILE: src/explorer/model/IEffectivePom.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. export interface IEffectivePom { pomPath: string; ePomString?: string; ePom?: any; } ================================================ FILE: src/explorer/model/ITreeItem.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; export interface ITreeItem { getContextValue(): string; getTreeItem(): vscode.TreeItem | Thenable; /** * If implemented, it will be triggered to get children items. */ getChildren?(): ITreeItem[] | undefined | Promise; /** * If implemented, it will be triggered to refresh tree item. */ refresh?(): void | Promise; } ================================================ FILE: src/explorer/model/ITreeNode.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. export interface ITreeNode { children: ITreeNode[]; parent?: ITreeNode | undefined; root?: ITreeNode | undefined; addChild(node: ITreeNode): void; } ================================================ FILE: src/explorer/model/LifecycleMenu.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; import { DEFAULT_MAVEN_LIFECYCLES } from "../../completion/constants"; import { ITreeItem } from "./ITreeItem"; import { LifecyclePhase } from "./LifecyclePhase"; import { MavenProject } from "./MavenProject"; import { ProjectMenu } from "./Menu"; export class LifecycleMenu extends ProjectMenu implements ITreeItem { constructor(project: MavenProject) { super(project); this.name = "Lifecycle"; } public async getChildren() : Promise { return DEFAULT_MAVEN_LIFECYCLES.map(goal => new LifecyclePhase(this.project, goal)); } public getTreeItem(): vscode.TreeItem | Thenable { const treeItem: vscode.TreeItem = new vscode.TreeItem(this.name, vscode.TreeItemCollapsibleState.Collapsed); treeItem.iconPath = new vscode.ThemeIcon("sync"); return treeItem; } } ================================================ FILE: src/explorer/model/LifecyclePhase.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; import { ITreeItem } from "./ITreeItem"; import { MavenProject } from "./MavenProject"; export class LifecyclePhase implements ITreeItem { constructor(public project: MavenProject, public phase: string) {} public getContextValue(): string { return "maven:lifecycle"; } public getTreeItem(): vscode.TreeItem | Thenable { const treeItem: vscode.TreeItem = new vscode.TreeItem(this.phase, vscode.TreeItemCollapsibleState.None); treeItem.iconPath = new vscode.ThemeIcon("gear"); return treeItem; } } ================================================ FILE: src/explorer/model/MavenPlugin.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; import { taskExecutor } from "../../taskExecutor"; import { MavenExplorerProvider } from "../MavenExplorerProvider"; import { pluginInfoProvider } from "../pluginInfoProvider"; import { ITreeItem } from "./ITreeItem"; import { MavenProject } from "./MavenProject"; import { PluginGoal } from "./PluginGoal"; const CONTEXT_VALUE = "maven:plugin"; export class MavenPlugin implements ITreeItem { public project: MavenProject; public groupId: string; public artifactId: string; public version: string; public prefix: string | undefined; public goals: string[] | undefined; constructor(project: MavenProject, groupId: string, artifactId: string, version: string) { this.project = project; this.groupId = groupId; this.artifactId = artifactId; this.version = version; taskExecutor.execute(async () => await this.fetchPrefix()); } private get pluginId(): string { let pluginId = `${this.groupId}:${this.artifactId}`; if (this.version !== undefined) { pluginId += `:${this.version}`; } return pluginId; } public getContextValue(): string { return CONTEXT_VALUE; } public async getTreeItem(): Promise { const label: string = this.prefix || this.pluginId; const treeItem: vscode.TreeItem = new vscode.TreeItem(label, vscode.TreeItemCollapsibleState.Collapsed); treeItem.iconPath = new vscode.ThemeIcon("symbol-property"); if (this.prefix) { treeItem.description = this.pluginId; } return treeItem; } public async getChildren(): Promise { try { await this.fetchGoals(); } catch (error) { return []; } return this.goals ? this.goals.map(goal => new PluginGoal(this, goal)) : []; } public async refresh(): Promise { MavenExplorerProvider.getInstance().refresh(this); } private async fetchPrefix(): Promise { if (this.prefix !== undefined) { return; } const prefix = await pluginInfoProvider.getPluginPrefix(this.groupId, this.artifactId); this.prefix = prefix; MavenExplorerProvider.getInstance().refresh(this); // update label/description of current tree item. } private async fetchGoals(): Promise { if (this.goals !== undefined) { return; } const goals = await pluginInfoProvider.getPluginGoals(this.project.pomPath, this.groupId, this.artifactId, this.version); this.goals = goals; } } ================================================ FILE: src/explorer/model/MavenProfile.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; import { ITreeItem } from "./ITreeItem"; import { MavenProject } from "./MavenProject"; export class MavenProfile implements ITreeItem { constructor( public project: MavenProject, public id: string, public active: boolean, public source: string, ) { } public selected: boolean | undefined; public getContextValue(): string { if (this.checked()) { return "maven:profile+checked"; } else { return "maven:profile+unchecked"; } } public getTreeItem(): vscode.TreeItem | Thenable { const treeItem: vscode.TreeItem = new vscode.TreeItem(this.id, vscode.TreeItemCollapsibleState.None); if (this.checked()) { treeItem.iconPath = new vscode.ThemeIcon("check"); } return treeItem; } private checked(): boolean { if (this.selected === undefined) { return this.active; } else { return this.selected; } } } ================================================ FILE: src/explorer/model/MavenProject.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as fs from "fs"; import * as _ from "lodash"; import * as path from "path"; import * as vscode from "vscode"; import { MavenProjectManager } from "../../project/MavenProjectManager"; import { Settings } from "../../Settings"; import { getPathToExtensionRoot } from "../../utils/contextUtils"; import { rawProfileList } from "../../utils/mavenUtils"; import { Utils } from "../../utils/Utils"; import { EffectivePomProvider } from "../EffectivePomProvider"; import { MavenExplorerProvider } from "../MavenExplorerProvider"; import { DependenciesMenu } from "./DependenciesMenu"; import { Dependency } from "./Dependency"; import { FavoritesMenu } from "./FavoritesMenu"; import { IEffectivePom } from "./IEffectivePom"; import { ITreeItem } from "./ITreeItem"; import { LifecycleMenu } from "./LifecycleMenu"; import { MavenPlugin } from "./MavenPlugin"; import { MavenProfile } from "./MavenProfile"; import { PluginsMenu } from "./PluginsMenu"; import { ProfilesMenu } from "./ProfilesMenu"; const CONTEXT_VALUE = "maven:project"; export class MavenProject implements ITreeItem { public parent?: MavenProject; // assigned if it's specified as one of parent project's modules public pomPath: string; public _fullDependencyText: string; public _conflictNodes: Dependency[]; public dependencyNodes: Dependency[]; private ePomProvider: EffectivePomProvider; private _ePom: any; private _pom: any; private properties: Map = new Map(); public profiles: MavenProfile[]; constructor(pomPath: string) { this.pomPath = pomPath; this.ePomProvider = new EffectivePomProvider(pomPath); } public get name(): string { // use if provided, fallback to if (this._pom?.project?.name?.[0] !== undefined) { const rawName: string = this._pom.project.name[0]; return this.fillProperties(rawName); } else { return this._pom?.project?.artifactId?.[0]; } } public get fullText(): string { return this._fullDependencyText; } public set fullText(text: string) { this._fullDependencyText = text; } public get groupId(): string { return this._pom?.project?.groupId?.[0] ?? this._pom?.project?.parent?.[0]?.groupId?.[0] ?? this.parent?.groupId; } public get artifactId(): string { return this._pom?.project?.artifactId?.[0]; } public get version(): string { return this._pom?.project?.version?.[0] ?? this._pom?.project?.parent?.[0]?.version?.[0] ?? this.parent?.version; } public get id(): string { return `${this.groupId}:${this.artifactId}`; } public get packaging(): string { return _.get(this._pom, "project.packaging[0]"); } public get moduleNames(): string[] { const moduleNames: string[] | undefined = _.get(this._pom, "project.modules[0].module"); return moduleNames ? moduleNames : []; } public get plugins(): MavenPlugin[] { let plugins: any[] | undefined; if (_.has(this._ePom, "projects.project")) { // multi-module project const project: any = this._ePom.projects.project.find((elem: any) => this.name === _.get(elem, "artifactId[0]")); if (project) { plugins = _.get(project, "build[0].plugins[0].plugin"); } } else { // single-project plugins = _.get(this._ePom, "project.build[0].plugins[0].plugin"); } return this._convertXmlPlugin(plugins); } public get dependencies(): any[] { let deps: any[] = []; if (_.has(this._ePom, "projects.project")) { // multi-module project const project: any = (this._ePom.projects.project).find((elem: any) => this.name === _.get(elem, "artifactId[0]")); if (project) { deps = _.get(project, "build[0].plugins[0].plugin"); } } else { // single-project deps = _.get(this._ePom, "project.dependencies[0].dependency"); } return deps; } /** * @return list of absolute path of modules pom.xml. */ public get modules(): string[] { return this.moduleNames.map(moduleName => { const relative: string = path.join(path.dirname(this.pomPath), moduleName); if (fs.existsSync(relative) && fs.statSync(relative).isFile()) { return relative; } else { return path.join(relative, "pom.xml"); } }); } /** * Absolute path of parent POM, inferred from `parent.relativePath`. */ public get parentPomPath(): string | undefined { const parentNode = this._pom?.project?.parent?.[0]; if (parentNode) { const relativePath: string = parentNode.relativePath?.[0]; if (relativePath === undefined) { // default return path.join(path.dirname(this.pomPath), "..", "pom.xml"); } else if (relativePath === "") { // disabled explicitly return undefined; } else { return path.join(path.dirname(this.pomPath), relativePath); } } return undefined; } public get conflictNodes(): Dependency[] { return this._conflictNodes ?? []; } public set conflictNodes(nodes: Dependency[]) { this._conflictNodes = nodes; } public async getTreeItem(): Promise { await this.parsePom(); const label = this.artifactId ? Settings.getExploreProjectName(this) : "Unknown"; const iconFile: string = this.packaging === "pom" ? "root.svg" : "project.svg"; const treeItem: vscode.TreeItem = new vscode.TreeItem(label); treeItem.iconPath = { light: getPathToExtensionRoot("resources", "icons", "light", iconFile), dark: getPathToExtensionRoot("resources", "icons", "dark", iconFile) }; treeItem.collapsibleState = vscode.TreeItemCollapsibleState.Collapsed; treeItem.description = this.id; treeItem.tooltip = this.pomPath; return treeItem; } public getContextValue(): string { return CONTEXT_VALUE; } public getChildren(): ITreeItem[] { const ret: ITreeItem[] = []; ret.push(new LifecycleMenu(this)); ret.push(new PluginsMenu(this)); ret.push(new DependenciesMenu(this)); ret.push(new FavoritesMenu(this)); ret.push(new ProfilesMenu(this)); if (this.moduleNames.length > 0 && Settings.viewType() === "hierarchical") { const projects: MavenProject[] = this.modules.map(m => MavenProjectManager.get(m)).filter(Boolean) as MavenProject[]; ret.push(...projects); } return ret; } public async refreshEffectivePom(): Promise { await this.ePomProvider.calculateEffectivePom(); } public async getEffectivePom(options?: { cacheOnly?: boolean }): Promise { let res: IEffectivePom = { pomPath: this.pomPath }; try { res = await this.ePomProvider.getEffectivePom(options); this._ePom = res?.ePom; } catch (error) { console.error(error); throw new Error("Failed to calculate Effective POM. Please check output window 'Maven for Java' for more details."); } return res; } public async refresh(): Promise { await this._refreshPom(); } public async parsePom(): Promise { try { this._pom = await Utils.parseXmlFile(this.pomPath); this.updateProperties(); } catch (error) { this._pom = undefined; } } public getDependencyVersion(gid: string, aid: string): string | undefined { // from effective POM const deps: any[] | undefined = this.dependencies; const targetDep: any = deps?.find(elem => _.get(elem, "groupId[0]") === gid && _.get(elem, "artifactId[0]") === aid); if (targetDep?.version?.[0] !== undefined) { return targetDep.version[0]; } // from dependency plugin const targetNode = this.dependencyNodes?.find(n => n.groupId === gid && n.artifactId === aid); if (targetNode?.version) { return targetNode.version; } return undefined; } private async _refreshPom(): Promise { await this.parsePom(); MavenExplorerProvider.getInstance().refresh(this); } private _convertXmlPlugin(plugins: any[] | undefined): MavenPlugin[] { if (plugins && plugins.length > 0) { return plugins.map(p => new MavenPlugin( this, _.has(p, "groupId[0]") ? _.get(p, "groupId[0]") : "org.apache.maven.plugins", _.get(p, "artifactId[0]"), _.get(p, "version[0]") )); } return []; } private updateProperties(): void { if (this?._pom?.project?.properties?.[0] !== undefined) { for (const [key, value] of Object.entries(this._pom.project.properties[0])) { this.properties.set(key, value[0]); } } } public fillProperties(rawName: string): string { const stringTemplatePattern = /\$\{.*?\}/g; const matches: RegExpMatchArray | null = rawName.match(stringTemplatePattern); if (matches === null) { return rawName; } let name: string = rawName; for (const placeholder of matches) { const key: string = placeholder.slice(2, placeholder.length - 1); const value: string | undefined = this.getProperty(key); if (value !== undefined) { name = name.replace(placeholder, value); } } return name; } /** * Get value of a property, including those inherited from parents * @param key property name * @returns value of property */ public getProperty(key: string): string | undefined { if (this.properties.has(key)) { return this.properties.get(key); } let cur: MavenProject | undefined = (this.parentPomPath ? MavenProjectManager.get(this.parentPomPath) : undefined) ?? this.parent; while (cur !== undefined) { if (cur.properties.has(key)) { return cur.properties.get(key); } cur = (cur.parentPomPath ? MavenProjectManager.get(cur.parentPomPath) : undefined) ?? cur.parent; } return undefined; } /** * get properties from effective pom */ public getProperties() { const propertiesNode = _.get(this._ePom, "project.properties[0]"); if (typeof propertiesNode === "object") { return Object.keys(propertiesNode); } else { return undefined; } } public async refreshProfiles() { const output = await rawProfileList(this.pomPath); if (output) { const profiles = Utils.parseProfilesOutput(this, output); this.profiles = profiles; } } } ================================================ FILE: src/explorer/model/Menu.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; import { ITreeItem } from "./ITreeItem"; import { MavenProject } from "./MavenProject"; const CONTEXT_VALUE = "maven:menu"; export abstract class Menu implements ITreeItem { protected name: string; public abstract getChildren(): ITreeItem[] | undefined | Promise; public getContextValue(): string { return CONTEXT_VALUE; } public getTreeItem(): vscode.TreeItem | Thenable { const treeItem: vscode.TreeItem = new vscode.TreeItem(this.name, vscode.TreeItemCollapsibleState.Collapsed); treeItem.iconPath = new vscode.ThemeIcon("folder"); return treeItem; } } export abstract class ProjectMenu extends Menu { constructor( public project: MavenProject, ) { super(); } } ================================================ FILE: src/explorer/model/OmittedStatus.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. export interface IOmittedStatus { status: "conflict" | "duplicate"; effectiveVersion: string; description: string; } ================================================ FILE: src/explorer/model/PluginGoal.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; import { ITreeItem } from "./ITreeItem"; import { MavenPlugin } from "./MavenPlugin"; export class PluginGoal implements ITreeItem { public plugin: MavenPlugin; public name: string; constructor(plugin: MavenPlugin, name: string) { this.plugin = plugin; this.name = name; } public getContextValue(): string { return "maven:pluginGoal"; } public getTreeItem(): vscode.TreeItem { return new vscode.TreeItem(this.name, vscode.TreeItemCollapsibleState.None); } public get command() : string { if (this.name.includes(":")) { // workaround for compatibility in case the name already contains prefix return this.name; } return `${this.plugin.prefix}:${this.name}`; } } ================================================ FILE: src/explorer/model/PluginsMenu.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; import { MavenExplorerProvider } from "../MavenExplorerProvider"; import { ITreeItem } from "./ITreeItem"; import { MavenPlugin } from "./MavenPlugin"; import { MavenProject } from "./MavenProject"; import { ProjectMenu } from "./Menu"; export class PluginsMenu extends ProjectMenu implements ITreeItem { constructor(project: MavenProject) { super(project); this.name = "Plugins"; } public async getChildren() : Promise { await this.project.getEffectivePom(); return this.project.plugins; } public getTreeItem(): vscode.TreeItem | Thenable { const treeItem: vscode.TreeItem = new vscode.TreeItem(this.name, vscode.TreeItemCollapsibleState.Collapsed); treeItem.iconPath = new vscode.ThemeIcon("extensions"); return treeItem; } public async refresh(): Promise { this.project.refreshEffectivePom().catch(console.error); MavenExplorerProvider.getInstance().refresh(this); } } ================================================ FILE: src/explorer/model/ProfilesMenu.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { ITreeItem } from "./ITreeItem"; import { MavenProfile } from "./MavenProfile"; import { MavenProject } from "./MavenProject"; import { ProjectMenu } from "./Menu"; export class ProfilesMenu extends ProjectMenu implements ITreeItem { constructor(project: MavenProject) { super(project); this.name = "Profiles"; } public getContextValue(): string { return "maven:profilesMenu"; } public async getChildren() : Promise { if (this.project.profiles === undefined) { await this.project.refreshProfiles(); } return this.project.profiles; } public async refresh(): Promise { await this.project.refreshProfiles(); } } ================================================ FILE: src/explorer/model/WorkspaceFolder.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; import { TreeItemCollapsibleState } from "vscode"; import { MavenProjectManager } from "../../project/MavenProjectManager"; import { Settings } from "../../Settings"; import { HintNode } from "./HintNode"; import { ITreeItem } from "./ITreeItem"; import { MavenProject } from "./MavenProject"; const CONTEXT_VALUE = "maven:workspaceFolder"; export class WorkspaceFolder implements ITreeItem { constructor( public workspaceFolder: vscode.WorkspaceFolder, ) { } public getContextValue(): string { return CONTEXT_VALUE; } public async getChildren(): Promise { const ret: ITreeItem[] = []; const allProjects: MavenProject[] = await MavenProjectManager.loadProjects(this.workspaceFolder); if (allProjects.length === 0) { return [new HintNode("No Maven project found.")]; } switch (Settings.viewType()) { case "hierarchical":{ ret.push(...this.sortByName(allProjects.filter(m => !m.parent))); break; } case "flat": { ret.push(...this.sortByName(allProjects)); break; } default: } return ret; } public getTreeItem(): vscode.TreeItem | Thenable { return new vscode.TreeItem(this.workspaceFolder.name, TreeItemCollapsibleState.Expanded); } private sortByName(arr: MavenProject[]): MavenProject[] { return arr.sort((a, b) => { return a.name > b.name ? 1 : a.name < b.name ? -1 : 0; }); } } ================================================ FILE: src/explorer/pluginInfoProvider.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as fs from "fs"; import * as _ from "lodash"; import * as path from "path"; import * as vscode from "vscode"; import { getMavenLocalRepository } from "../utils/contextUtils"; import { readContentFromJar } from "../utils/jarUtils"; import { fetchPluginMetadataXml } from "../utils/requestUtils"; import { Utils } from "../utils/Utils"; const KEY_PLUGINS = "plugins"; interface IPluginCache { [groupId: string]: { [artifactId: string]: IPluginInfo }; } interface IPluginInfo { prefix?: string; versions?: { [version: string]: string[] // goals }; } interface PluginInfoDict { [artifactId: string]: IPluginInfo; } interface PluginDescription { goalPrefix: string; goals: string[]; } class PluginInfoProvider { private _context: vscode.ExtensionContext; public initialize(context: vscode.ExtensionContext): void { this._context = context; } public async getPluginPrefix(gid: string, aid: string): Promise { // read from cache if exists const infos: PluginInfoDict = _.get(this.getPluginCache(), [gid]) ?? {}; const info: IPluginInfo = _.get(infos, [aid]) ?? {}; if (info.prefix !== undefined) { return info.prefix; } // get prefix from central/groupId/maven-metadata.xml const metadataXml = await fetchPluginMetadataXml(gid); const xml: any = await Utils.parseXmlContent(metadataXml); const plugins: any[] = _.get(xml, "metadata.plugins[0].plugin"); plugins.forEach(plugin => { const a: string = _.get(plugin, "artifactId[0]"); const p: string = _.get(plugin, "prefix[0]"); infos[a] = infos[a] ?? {}; infos[a].prefix = p; }); // update cache await this.udpatePluginInfoCache(gid, infos); return infos[aid]?.prefix; } public async getPluginGoals(pomPath: string, groupId: string, artifactId: string, version: string): Promise { // read from cache if exists const infos: PluginInfoDict = _.get(this.getPluginCache(), [groupId]) ?? {}; const info: IPluginInfo = _.get(infos, [artifactId]) ?? {}; info.versions = info.versions ?? {}; const goalsFromCache: string[] | undefined = _.get(info.versions, [version]); if (goalsFromCache !== undefined) { return goalsFromCache; } // Read from `jar!META-INF/maven/plugin.xml` if plugin.jar is available in local repository. // See https://github.com/microsoft/vscode-maven/issues/895 const desc: PluginDescription | undefined = await parseMetadataFromJar(groupId, artifactId, version); if (desc) { info.prefix = desc.goalPrefix; info.versions[version] = desc.goals; } else { // get plugin goals using maven-help-plugin, i.e. mvn help:describe const { prefix, goals } = await this.parseFromPluginDescription(pomPath, groupId, artifactId, version); info.prefix = info.prefix ?? prefix; info.versions[version] = goals ?? []; } // update cache await this.cachePluginInfo(groupId, artifactId, info); return info.versions[version]; } private getPluginCache(): IPluginCache { return this._context.globalState.get(KEY_PLUGINS) ?? {}; } private async udpatePluginInfoCache(gid: string, infos: PluginInfoDict): Promise { const plugins: any = this._context.globalState.get(KEY_PLUGINS) ?? {}; _.set(plugins, [gid], infos); await this._context.globalState.update(KEY_PLUGINS, plugins); } private async cachePluginInfo(gid: string, aid: string, info: IPluginInfo): Promise { const plugins: any = this._context.globalState.get(KEY_PLUGINS) ?? {}; _.set(plugins, [gid, aid], info); await this._context.globalState.update(KEY_PLUGINS, plugins); } private async parseFromPluginDescription(projectBasePath: string, gid: string, aid: string, version?: string): Promise<{ prefix?: string, goals?: string[] }> { let prefix: string | undefined; const goals: string[] = []; const textOutput: string = await Utils.getPluginDescription(this.getPluginId(gid, aid, version), projectBasePath); const versionRegExp = /^Version: (.*)/m; const versionMatch: string[] | null = textOutput.match(versionRegExp); if (versionMatch !== null && versionMatch.length === 2) { version = versionMatch[1]; } // find prefix const prefixRegExp = /^Goal Prefix: (.*)/m; const prefixMatch: string[] | null = textOutput.match(prefixRegExp); if (prefixMatch !== null && prefixMatch.length === 2) { prefix = prefixMatch[1]; } // find goals if (version && prefix !== undefined) { const goalRegExp = new RegExp(`^${prefix}:(.*)`, "gm"); const goalsMatch: string[] | null = textOutput.match(goalRegExp); if (goalsMatch !== null) { // prefix:goal matched, remove "prefix:" part for (const fullGoal of goalsMatch) { goals.push(fullGoal.slice(prefix.length + 1)); } } } return { prefix, goals }; } private getPluginId(gid: string, aid: string, version?: string): string { return `${gid}:${aid}${version ? `:${version}` : ""}`; } } export const pluginInfoProvider: PluginInfoProvider = new PluginInfoProvider(); async function parseMetadataFromJar(groupId: string, artifactId: string, version: string): Promise { const jarFilePath = path.join(getMavenLocalRepository(), ...groupId.split("."), artifactId, version, `${artifactId}-${version}.jar`); try { await fs.promises.access(jarFilePath); const jarUri = vscode.Uri.file(jarFilePath); const segs = "META-INF/maven/plugin.xml".split("/"); const xml = await readContentFromJar(jarUri, ...segs); const xmlObj = xml && await Utils.parseXmlContent(xml); const goalPrefix: any = _.get(xmlObj, "plugin.goalPrefix[0]"); const mojos = _.get(xmlObj, "plugin.mojos[0].mojo"); const goals = mojos ? (mojos as any[]).map(m => m.goal[0]) : []; return { goalPrefix, goals } } catch (error) { return undefined; } } ================================================ FILE: src/extension.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. "use strict"; import * as path from "path"; import * as vscode from "vscode"; import { Progress, Uri } from "vscode"; import { dispose as disposeTelemetryWrapper, initialize, instrumentOperation, sendInfo } from "vscode-extension-telemetry-wrapper"; import { diagnosticProvider } from "./DiagnosticProvider"; import { Settings } from "./Settings"; import { ArchetypeModule } from "./archetype/ArchetypeModule"; import { registerProjectCreationEndListener } from "./archetype/utils"; import { codeActionProvider } from "./codeAction/codeActionProvider"; import { ConflictResolver, conflictResolver } from "./codeAction/conflictResolver"; import { PomCompletionProvider } from "./completion/PomCompletionProvider"; import { DEFAULT_MAVEN_LIFECYCLES } from "./completion/constants"; import { contentProvider } from "./contentProvider"; import { definitionProvider } from "./definition/definitionProvider"; import { initExpService } from "./experimentationService"; import { MavenExplorerProvider } from "./explorer/MavenExplorerProvider"; import { decorationProvider } from "./explorer/decorationProvider"; import { Dependency } from "./explorer/model/Dependency"; import { ITreeItem } from "./explorer/model/ITreeItem"; import { MavenProfile } from "./explorer/model/MavenProfile"; import { MavenProject } from "./explorer/model/MavenProject"; import { PluginGoal } from "./explorer/model/PluginGoal"; import { pluginInfoProvider } from "./explorer/pluginInfoProvider"; import { debugHandler } from "./handlers/debugHandler"; import { addDependencyHandler } from "./handlers/dependency/addDependencyHandler"; import { excludeDependencyHandler } from "./handlers/dependency/excludeDependencyHandler"; import { goToEffectiveHandler } from "./handlers/dependency/goToEffectiveHandler"; import { jumpToDefinitionHandler } from "./handlers/dependency/jumpToDefinitionHandler"; import { setDependencyVersionHandler } from "./handlers/dependency/setDependencyVersionHandler"; import { showDependenciesHandler } from "./handlers/dependency/showDependenciesHandler"; import { addFavoriteHandler } from "./handlers/favorites/addFavoriteHandler"; import { runFavoriteCommandsHandler } from "./handlers/favorites/runFavoriteCommandsHandler"; import { executeLifecyclePhaseHandler } from "./handlers/lifecycle/executeLifecyclePhaseHandler"; import { HoverProvider } from "./hover/hoverProvider"; import { registerArtifactSearcher } from "./jdtls/artifactSearcher"; import { isJavaExtEnabled } from "./jdtls/commands"; import { mavenOutputChannel } from "./mavenOutputChannel"; import { mavenTerminal } from "./mavenTerminal"; import { init as initMavenXsd } from "./mavenXsd"; import { MavenProjectManager } from "./project/MavenProjectManager"; import { taskExecutor } from "./taskExecutor"; import { mavenProblemMatcher } from "./mavenProblemMatcher"; import { Utils } from "./utils/Utils"; import { getAiKey, getExtensionId, getExtensionVersion, loadMavenSettingsFilePath, loadPackageInfo } from "./utils/contextUtils"; import { executeInTerminal } from "./utils/mavenUtils"; import { dependenciesContentUri, effectivePomContentUri, openFileIfExists, registerCommand, registerCommandRequiringTrust } from "./utils/uiUtils"; export async function activate(context: vscode.ExtensionContext): Promise { await loadPackageInfo(context); // Usage data statistics. if (getAiKey()) { initialize(getExtensionId(), getExtensionVersion(), getAiKey()); } await initExpService(context); await instrumentOperation("activation", doActivate)(context); } export async function deactivate(): Promise { await disposeTelemetryWrapper(); } async function doActivate(_operationId: string, context: vscode.ExtensionContext): Promise { pluginInfoProvider.initialize(context); await vscode.commands.executeCommand("setContext", "vscode-maven:activated", true); // register tree view await MavenProjectManager.loadProjects(); const mavenExplorerProvider: MavenExplorerProvider = MavenExplorerProvider.getInstance(); const view = vscode.window.createTreeView("mavenProjects", { treeDataProvider: mavenExplorerProvider, showCollapseAll: true }); context.subscriptions.push(view); registerCommand(context, "maven.dependency.goToEffective", (node?: Dependency) => goToEffectiveHandler(view, node)); context.subscriptions.push(vscode.workspace.onDidGrantWorkspaceTrust(() => { MavenExplorerProvider.getInstance().refresh(); })); // pom.xml listener to refresh tree view registerPomFileWatcher(context); // register output, terminal, taskExecutor, problemMatcher context.subscriptions.push(mavenOutputChannel, mavenTerminal, taskExecutor, mavenProblemMatcher); // register common goals DEFAULT_MAVEN_LIFECYCLES.forEach((goal: string) => { registerCommandRequiringTrust(context, `maven.goal.${goal}`, async (node: MavenProject) => executeInTerminal({ command: goal, pomfile: node.pomPath })); }); registerCommand(context, "maven.explorer.refresh", async (item: ITreeItem) => { item?.refresh ? item.refresh() : MavenExplorerProvider.getInstance().refresh(item); }); registerCommandRequiringTrust(context, "maven.project.effectivePom", async (projectOrUri: Uri | MavenProject) => await Utils.showEffectivePom(projectOrUri)); registerCommandRequiringTrust(context, "maven.goal.custom", async (node: string | MavenProject, goal?: string) => await Utils.executeCustomGoal(node, goal)); registerCommand(context, "maven.project.openPom", openPomHandler); // create project from archetype registerCommand(context, "maven.archetype.generate", ArchetypeModule.createMavenProject); registerCommand(context, "maven.new.module", ArchetypeModule.createMavenModule); registerCommand(context, "maven.archetype.update", updateArchetypeCatalogHandler); registerProjectCreationEndListener(context); registerCommandRequiringTrust(context, "maven.history", mavenHistoryHandler); registerCommandRequiringTrust(context, "maven.favorites", runFavoriteCommandsHandler); registerCommandRequiringTrust(context, "maven.goal.execute", Utils.executeMavenCommand); registerCommandRequiringTrust(context, "maven.goal.execute.fromProjectManager", Utils.executeMavenCommand); registerCommandRequiringTrust(context, "maven.lifecycle.execute", executeLifecyclePhaseHandler); registerCommandRequiringTrust(context, "maven.goal.execute.fromLifecycleMenu", executeLifecyclePhaseHandler); registerCommandRequiringTrust(context, "maven.goal.execute.fromFavoritesMenu", Utils.executeMavenCommand); registerCommandRequiringTrust(context, "maven.plugin.execute", async (pluginGoal: PluginGoal) => await executeInTerminal({ command: pluginGoal.command, pomfile: pluginGoal.plugin.project.pomPath })); registerCommand(context, "maven.view.flat", () => Settings.changeToFlatView()); registerCommand(context, "maven.view.hierarchical", () => Settings.changeToHierarchicalView()); // commands for (un)selecting profiles registerCommand(context, "maven.profile.select", (p: MavenProfile) => { p.selected = true; MavenExplorerProvider.getInstance().refresh(p); }); registerCommand(context, "maven.profile.deselect", (p: MavenProfile) => { p.selected = false; MavenExplorerProvider.getInstance().refresh(p); }); registerConfigChangeListener(context); // Free resources when a terminal is manually closed context.subscriptions.push( vscode.window.onDidCloseTerminal((closedTerminal: vscode.Terminal) => { const name: string | undefined = mavenTerminal.find(closedTerminal); if (name !== undefined) { mavenTerminal.dispose(name); } }) ); // Reload projects when workspace folders added/removed context.subscriptions.push( vscode.workspace.onDidChangeWorkspaceFolders(async (e: vscode.WorkspaceFoldersChangeEvent) => { for (const removedWorkspaceFolder of e.removed) { await mavenExplorerProvider.removeWorkspaceFolder(removedWorkspaceFolder); } for (const addedWorkspaceFolder of e.added) { await mavenExplorerProvider.addWorkspaceFolder(addedWorkspaceFolder); } }) ); registerPomFileAuthoringHelpers(context); // dependency registerCommand(context, "maven.project.addDependency", addDependencyHandler); registerCommand(context, "maven.project.showDependencies", showDependenciesHandler); registerCommand(context, "maven.project.excludeDependency", excludeDependencyHandler); registerCommand(context, "maven.project.setDependencyVersion", setDependencyVersionHandler); registerCommand(context, "maven.project.goToDefinition", jumpToDefinitionHandler); // favorites registerCommand(context, "maven.project.addFavorite", addFavoriteHandler); // debug registerCommand(context, "maven.plugin.debug", debugHandler); vscode.debug.onDidTerminateDebugSession((session) => { if (session.type === "java") { const terminalName: string = session.configuration.terminalName; if (terminalName) { // After terminating debug session, output is no longer visible. // Solution: via future API waitOnExit // See: https://github.com/Microsoft/vscode/issues/70444 mavenTerminal.dispose(terminalName); } } }); registerCommand(context, "maven.java.projectConfiguration.update", () => { MavenExplorerProvider.getInstance().refresh(); if (isJavaExtEnabled()) { // Reload All Maven Projects in JDTLS, impl in upstream vscode.commands.executeCommand("java.projectConfiguration.update", MavenProjectManager.projects.map(n => Uri.file(n.pomPath))); } }); // register artifact searcher if Java language server is activated if (isJavaExtEnabled()) { registerArtifactSearcher(context); } // diagnostic diagnosticProvider.initialize(context); // fileDecoration context.subscriptions.push(decorationProvider); // textDocument based output (e.g. effective-pom, dependencies) context.subscriptions.push(vscode.workspace.registerTextDocumentContentProvider("vscode-maven", contentProvider)); await initMavenXsd(); } function registerPomFileWatcher(context: vscode.ExtensionContext): void { const watcher: vscode.FileSystemWatcher = vscode.workspace.createFileSystemWatcher(Settings.Pomfile.globPattern()); watcher.onDidCreate((e: Uri) => MavenExplorerProvider.getInstance().addProject(e.fsPath), null, context.subscriptions); watcher.onDidChange(async (e: Uri) => { const project: MavenProject | undefined = MavenProjectManager.get(e.fsPath); if (project) { // notify dependencies/effectivePOM to update contentProvider.invalidate(effectivePomContentUri(project.pomPath)); contentProvider.invalidate(dependenciesContentUri(project.pomPath)); await project.refresh(); if (vscode.workspace.isTrusted && Settings.Pomfile.autoUpdateEffectivePOM()) { taskExecutor.execute(async () => { await project.refreshEffectivePom(); MavenExplorerProvider.getInstance().refresh(project); }); } } }, null, context.subscriptions); watcher.onDidDelete((e: Uri) => MavenExplorerProvider.getInstance().removeProject(e.fsPath), null, context.subscriptions); context.subscriptions.push(watcher); } function registerConfigChangeListener(context: vscode.ExtensionContext): void { const configChangeListener: vscode.Disposable = vscode.workspace.onDidChangeConfiguration(async (e: vscode.ConfigurationChangeEvent) => { // close all terminals with outdated JAVA related environment variables if (e.affectsConfiguration("maven.terminal.customEnv")) { mavenTerminal.dispose(); } if (e.affectsConfiguration("maven.view") || e.affectsConfiguration("maven.pomfile.globPattern") || e.affectsConfiguration("maven.explorer.projectName") || e.affectsConfiguration("maven.terminal.favorites") ) { MavenExplorerProvider.getInstance().refresh(); } if (e.affectsConfiguration("maven.executable.preferMavenWrapper")) { context.workspaceState.update("trustMavenWrapper", undefined); } // refresh MAVEN_LOCAL_REPOSITORY when change to a new settingsFile if (e.affectsConfiguration("maven.settingsFile")) { await loadMavenSettingsFilePath(); } }); context.subscriptions.push(configChangeListener); } function registerPomFileAuthoringHelpers(context: vscode.ExtensionContext): void { const pomSelector: vscode.DocumentSelector = [{ language: "xml", scheme: "file", pattern: Settings.Pomfile.globPattern() }]; // completion item provider context.subscriptions.push(vscode.languages.registerCompletionItemProvider(pomSelector, new PomCompletionProvider(), ".", "-", "<")); registerCommand(context, "maven.completion.selected", sendInfo, true); // hover context.subscriptions.push(vscode.languages.registerHoverProvider(pomSelector, new HoverProvider())); // navigate to dependency pom context.subscriptions.push(vscode.languages.registerDefinitionProvider([...pomSelector, { pattern: "**/*.pom" }], definitionProvider)); // add a dependency context.subscriptions.push(vscode.languages.registerCodeActionsProvider(pomSelector, codeActionProvider)); // add quick fix for conflict dependencies context.subscriptions.push(vscode.languages.registerCodeActionsProvider(pomSelector, conflictResolver, {providedCodeActionKinds: ConflictResolver.providedCodeActionKinds})); } async function mavenHistoryHandler(item: MavenProject | undefined): Promise { if (item) { await Utils.executeHistoricalGoals([item.pomPath]); } else { await Utils.executeHistoricalGoals(MavenProjectManager.projects.map(node => node.pomPath)); } } async function updateArchetypeCatalogHandler(): Promise { await vscode.window.withProgress({ location: vscode.ProgressLocation.Notification }, async (p: Progress<{message: string}>) => { p.report({ message: "updating archetype catalog ..." }); await ArchetypeModule.updateArchetypeCatalog(); p.report({ message: "finished." }); }); } async function openPomHandler(node: MavenProject | { uri: string }): Promise { if (node instanceof MavenProject) { if (node.pomPath) { await openFileIfExists(node.pomPath); } } else { // for nodes from Project Manager if (node.uri) { const pomPath: string = path.join(Uri.parse(node.uri).fsPath, "pom.xml"); await openFileIfExists(pomPath); } } } ================================================ FILE: src/handlers/debugHandler.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { default as getPort } from "get-port"; import * as net from "net"; import * as vscode from "vscode"; import { createUuid } from "vscode-extension-telemetry-wrapper"; import { PluginGoal } from "../explorer/model/PluginGoal"; import { Settings } from "../Settings"; import { executeInTerminal } from "../utils/mavenUtils"; export async function debugHandler(goal: PluginGoal): Promise { await debugCommand({ command: goal.command, pomfile: goal.plugin.project.pomPath, projectName: goal.plugin.project.artifactId }); } export interface IDebugOptions { readonly command: string; readonly pomfile: string; readonly projectName: string; } export async function debugCommand(options: IDebugOptions): Promise { if (!isJavaDebuggerEnabled()) { await guideToInstallJavaDebugger(); return; } await debug(options); } async function debug({ command, pomfile, projectName }: IDebugOptions): Promise { const freePort: number = await getPort(); const mavenOpts: string = [ Settings.getEnvironment(pomfile).MAVEN_OPTS, // user-setting MAVEN_OPTS `-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=${freePort}` // MAVEN_DEBUG_OPTS ].filter(Boolean).join(" "); const sessionId: string = createUuid().substring(0, 6); const debugTerminal: vscode.Terminal | undefined = await executeInTerminal({ command, pomfile, terminalName: `mvnDebug ${sessionId}: ${command}`, env: { MAVEN_OPTS: mavenOpts } }); if (!debugTerminal) { return; } const debugConfig: vscode.DebugConfiguration = { type: "java", name: `Maven (Attach) - ${sessionId}`, request: "attach", hostName: "localhost", port: freePort, projectName, terminalName: debugTerminal.name }; let elapsed = 0; const interval = 100; // polling port status per 100ms const timeout = 10000; // 10s timeout const id = setInterval(async () => { const taken = await isPortTaken(freePort); if (taken || elapsed > timeout) { // mvnDebug process launched, listening to the port clearInterval(id); await vscode.debug.startDebugging(undefined, debugConfig); debugTerminal.show(true); } elapsed += interval; }, interval); } function isJavaDebuggerEnabled(): boolean { const javaDebuggerExtension: vscode.Extension | undefined = vscode.extensions.getExtension("vscjava.vscode-java-debug"); return javaDebuggerExtension !== undefined; } async function guideToInstallJavaDebugger(): Promise { const BUTTON_CONFIRM = "View Details"; const choice: string | undefined = await vscode.window.showInformationMessage("Debugger for Java is required for debugging, please install and enable it.", BUTTON_CONFIRM); if (choice === BUTTON_CONFIRM) { vscode.commands.executeCommand("vscode.open", vscode.Uri.parse("vscode:extension/vscjava.vscode-java-debug")); } } async function isPortTaken(port: number): Promise { return new Promise((resolve, _reject) => { const server = net.createServer((socket) => { socket.write('Echo server\r\n'); socket.pipe(socket); }); server.on('error', () => { resolve(true); }); server.on('listening', () => { server.close(); resolve(false); }); server.listen(port, "localhost"); }); } ================================================ FILE: src/handlers/dependency/addDependencyHandler.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { Element, isTag } from "domhandler"; import * as fse from "fs-extra"; import * as path from "path"; import * as vscode from "vscode"; import { MavenProject } from "../../explorer/model/MavenProject"; import { constructDependenciesNode, constructDependencyNode, getIndentation } from "../../utils/editUtils"; import { UserError } from "../../utils/errorUtils"; import { getInnerEndIndex, getInnerStartIndex, getNodesByTag, XmlTagName } from "../../utils/lexerUtils"; import { getArtifacts, IArtifactMetadata } from "../../utils/requestUtils"; import { selectProjectIfNecessary } from "../../utils/uiUtils"; import { getUsage } from "./artifactUsage"; export async function addDependencyHandler(options?: any): Promise { let pomPath: string; if (options && options.pomPath) { // for nodes from Maven explorer pomPath = options.pomPath; } else if (options && options.projectBasePath) { // for "Maven dependencies" nodes from Project Manager pomPath = path.join(options.projectBasePath, "pom.xml"); } else if (options?.project?.pomPath) { // for "Dependencies" node from module in Maven explorer pomPath = options.project.pomPath; } else { // select a project(pomfile) const selectedProject: MavenProject | undefined = await selectProjectIfNecessary(); if (!selectedProject) { return; } pomPath = selectedProject.pomPath; } if (!await fse.pathExists(pomPath)) { throw new UserError("Specified POM file does not exist on file system."); } // check if another extension has passed a dependency to add on its own if (options && options.groupId && options.artifactId) { await addDependency(pomPath, options.groupId, options.artifactId, options.version, options.packaging, options.classifier); } else { const keywordString: string | undefined = await vscode.window.showInputBox({ ignoreFocusOut: true, prompt: "Input keywords to search artifacts from Maven Central Repository.", placeHolder: "e.g. spring azure storage", validateInput: (text: string) => { if (text.trim().length < 3) { return "Keywords are too short."; } return undefined; } }); if (!keywordString) { return; } const selectedDoc: IArtifactMetadata | undefined = await vscode.window.showQuickPick( getArtifacts(keywordString.trim().split(/[-,. :]/)) .then( artifacts => artifacts.map(artifact => ({ value: artifact, label: `$(package) ${artifact.a}`, description: artifact.g, usage: getUsage(`${artifact.g}:${artifact.a}`) // load usage data })).sort((a, b) => b.usage - a.usage) // from largest to smallest ), { placeHolder: "Select a dependency ...", matchOnDescription: true } ).then(selected => selected?.value); if (!selectedDoc) { return; } await addDependency(pomPath, selectedDoc.g, selectedDoc.a, selectedDoc.latestVersion, selectedDoc.p, undefined); } } async function addDependency(pomPath: string, gid: string, aid: string, version?: string, dependencyType?: string, classifier?: string): Promise { // Find out node and insert content. const pomDocument = await vscode.window.showTextDocument(vscode.Uri.file(pomPath), { preserveFocus: true }); const projectNodes: Element[] = getNodesByTag(pomDocument.document.getText(), XmlTagName.Project); if (projectNodes === undefined || projectNodes.length !== 1) { throw new UserError("Only support POM file with single node."); } const projectNode: Element = projectNodes[0]; const dependenciesNode: Element | undefined = projectNode.children.find(elem => isTag(elem) && elem.tagName === XmlTagName.Dependencies) as Element | undefined; if (dependenciesNode !== undefined) { await insertDependency(pomPath, dependenciesNode, gid, aid, version, dependencyType, classifier); } else { await insertDependency(pomPath, projectNode, gid, aid, version, dependencyType, classifier); } } async function insertDependency(pomPath: string, targetNode: Element, gid: string, aid: string, version?: string, dependencyType?: string, classifier?: string): Promise { const currentDocument: vscode.TextDocument = await vscode.workspace.openTextDocument(pomPath); const textEditor: vscode.TextEditor = await vscode.window.showTextDocument(currentDocument); const baseIndent: string = getIndentation(currentDocument, getInnerEndIndex(targetNode)); const options: vscode.TextEditorOptions = textEditor.options; const indent: string = options.insertSpaces && typeof options.tabSize === "number" ? " ".repeat(options.tabSize) : "\t"; const eol: string = currentDocument.eol === vscode.EndOfLine.LF ? "\n" : "\r\n"; let insertPosition: vscode.Position; let targetText: string; if (targetNode.tagName === XmlTagName.Dependencies) { insertPosition = currentDocument.positionAt(getInnerStartIndex(targetNode)); targetText = constructDependencyNode({ gid, aid, version, dtype: dependencyType, classifier, baseIndent, indent, eol }); } else if (targetNode.tagName === XmlTagName.Project) { insertPosition = currentDocument.positionAt(getInnerEndIndex(targetNode)); targetText = constructDependenciesNode({ gid, aid, version, dtype: dependencyType, classifier, baseIndent, indent, eol }); } else { return; } const edit: vscode.WorkspaceEdit = new vscode.WorkspaceEdit(); edit.insert(currentDocument.uri, insertPosition, targetText); await vscode.workspace.applyEdit(edit); const endingPosition: vscode.Position = currentDocument.positionAt(currentDocument.offsetAt(insertPosition) + targetText.length); textEditor.revealRange(new vscode.Range(insertPosition, endingPosition)); } ================================================ FILE: src/handlers/dependency/artifactUsage.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { readFileSync } from "fs"; import { getPathToExtensionRoot } from "../../utils/contextUtils"; /** * Key: `gid:aid` * Value: usage as integer */ let dict: Map; export function getUsage(artifactId: string): number { if (dict === undefined) { initialize(); } return dict.get(artifactId) ?? 0; } function initialize() { const usageFilePath = getPathToExtensionRoot("resources", "IndexData", "ArtifactUsage.json"); let raw; try { raw = JSON.parse(readFileSync(usageFilePath).toString()) } catch (error) { console.warn("Failed to load data from ArtifactUsage.json"); } if (raw) { dict = new Map(); for (const id of Object.keys(raw)) { dict.set(id, raw[id]); } } } ================================================ FILE: src/handlers/dependency/excludeDependencyHandler.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { Element, isTag } from "domhandler"; import * as fse from "fs-extra"; import * as vscode from "vscode"; import { Dependency } from "../../explorer/model/Dependency"; import { getIndentation } from "../../utils/editUtils"; import { UserError } from "../../utils/errorUtils"; import { getInnerEndIndex, getInnerStartIndex, XmlTagName } from "../../utils/lexerUtils"; import { getDependencyNode } from "./utils"; export async function excludeDependencyHandler(toExclude?: Dependency): Promise { if (toExclude === undefined) { throw new UserError("Only Dependency can be excluded."); } const root: Dependency = toExclude.root; if (root === undefined || toExclude.fullArtifactName === root.fullArtifactName) { vscode.window.showInformationMessage("The dependency written in pom can not be excluded."); return; } const pomPath: string = toExclude.projectPomPath; if (!await fse.pathExists(pomPath)) { throw new UserError("Specified POM file does not exist on file system."); } await excludeDependency(pomPath, toExclude.groupId, toExclude.artifactId, root.groupId, root.artifactId); } async function excludeDependency(pomPath: string, gid: string, aid: string, rootGid: string, rootAid: string): Promise { // find out node with artifactId === rootAid and insert node const dependencyNode = await getDependencyNode(pomPath, rootGid, rootAid); if (dependencyNode === undefined) { throw new Error(`Failed to find the dependency where ${gid}:${aid} is introduced.`); } else { await insertExcludeDependency(pomPath, dependencyNode, gid, aid); } } async function insertExcludeDependency(pomPath: string, targetNode: Element, gid: string, aid: string): Promise { if (targetNode.children.length === 0) { throw new UserError("Invalid target XML node to delete dependency."); } const currentDocument: vscode.TextDocument = await vscode.workspace.openTextDocument(pomPath); const textEditor: vscode.TextEditor = await vscode.window.showTextDocument(currentDocument); const baseIndent: string = getIndentation(currentDocument, getInnerEndIndex(targetNode)); const options: vscode.TextEditorOptions = textEditor.options; const indent: string = options.insertSpaces && typeof options.tabSize === "number" ? " ".repeat(options.tabSize) : "\t"; const eol: string = currentDocument.eol === vscode.EndOfLine.LF ? "\n" : "\r\n"; let insertPosition: vscode.Position; let targetText: string; const exclusionNode: Element | undefined = targetNode.children?.find(node => isTag(node) && node.tagName === XmlTagName.Exclusions) as Element | undefined; if (exclusionNode === undefined) { insertPosition = currentDocument.positionAt(getInnerEndIndex(targetNode)); targetText = constructExclusionsNode(gid, aid, baseIndent, indent, eol); } else { insertPosition = currentDocument.positionAt(getInnerStartIndex(exclusionNode)); targetText = constructExclusionNode(gid, aid, baseIndent, indent, eol); } const edit: vscode.WorkspaceEdit = new vscode.WorkspaceEdit(); edit.insert(currentDocument.uri, insertPosition, targetText); await vscode.workspace.applyEdit(edit); const endingPosition: vscode.Position = currentDocument.positionAt(currentDocument.offsetAt(insertPosition) + targetText.length); textEditor.revealRange(new vscode.Range(insertPosition, endingPosition)); } function constructExclusionsNode(gid: string, aid: string, baseIndent: string, indent: string, eol: string): string { return [ `${indent}`, `${indent}`, `${indent}${indent}${aid}`, `${indent}${indent}${gid}`, `${indent}`, `${eol}${baseIndent}` ].join(`${eol}${baseIndent}${indent}`); } function constructExclusionNode(gid: string, aid: string, baseIndent: string, indent: string, eol: string): string { return [ `${eol}${baseIndent}${indent}${indent}`, `${indent}${indent}${aid}`, `${indent}${indent}${gid}`, `${indent}` ].join(`${eol}${baseIndent}${indent}`); } ================================================ FILE: src/handlers/dependency/goToEffectiveHandler.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; import { Dependency } from "../../explorer/model/Dependency"; import { ITreeItem } from "../../explorer/model/ITreeItem"; import { MavenProject } from "../../explorer/model/MavenProject"; import { MavenProjectManager } from "../../project/MavenProjectManager"; import { Queue } from "../../taskExecutor"; export async function goToEffectiveHandler(view: vscode.TreeView, node?: Dependency): Promise { if (node === undefined || node.omittedStatus === undefined) { throw new Error("No conflict dependency node specified."); } const fullArtifactName: string = [node.groupId, node.artifactId, node.omittedStatus.effectiveVersion, node.scope].join(":"); const pomPath: string = node.projectPomPath; const project: MavenProject | undefined = MavenProjectManager.get(pomPath); if (project === undefined) { throw new Error("Failed to find maven projects."); } const dependencyNodes = project.dependencyNodes; const treeItem: Dependency | undefined = await searchFirstEffective(dependencyNodes, fullArtifactName); if (treeItem === undefined) { throw new Error("Failed to find dependency."); } view.reveal(treeItem, { focus: true}); } async function searchFirstEffective(dependencyNodes: Dependency[], fullArtifactName: string): Promise { let targetItem: Dependency | undefined; const queue: Queue = new Queue(); for (const child of dependencyNodes) { queue.push(child); } while (queue.empty() === false) { const node: Dependency | undefined = queue.pop(); if (node === undefined) { throw new Error("Failed to find dependency."); } if (node.fullArtifactName === fullArtifactName) { targetItem = node; break; } const children = node.children; for (const child of children) { queue.push(child); } } return targetItem; } ================================================ FILE: src/handlers/dependency/jumpToDefinitionHandler.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { Element } from "domhandler"; import * as vscode from "vscode"; import { Dependency } from "../../explorer/model/Dependency"; import { localPomPath } from "../../utils/contextUtils"; import { UserError } from "../../utils/errorUtils"; import { getDependencyNode } from "./utils"; export async function jumpToDefinitionHandler(node?: Dependency): Promise { if (node === undefined) { throw new Error("No dependency node specified."); } let selectedPath: string; if (node.parent === undefined) { selectedPath = node.projectPomPath; } else { const parent: Dependency = node.parent; selectedPath = localPomPath(parent.groupId, parent.artifactId, parent.version); } await goToDefinition(selectedPath, node.groupId, node.artifactId); } async function goToDefinition(pomPath: string, gid: string, aid: string): Promise { const dependencyNode = await getDependencyNode(pomPath, gid, aid); if (dependencyNode !== undefined) { await locateInFile(pomPath, dependencyNode); } else { throw new Error("Failed to locate the dependency."); } } async function locateInFile(pomPath: string, targetNode: Element): Promise { if (targetNode.startIndex === null || targetNode.endIndex === null) { throw new UserError("Invalid target XML node to locate."); } const currentDocument: vscode.TextDocument = await vscode.workspace.openTextDocument(pomPath); const textEditor: vscode.TextEditor = await vscode.window.showTextDocument(currentDocument, { preview: false }); vscode.languages.setTextDocumentLanguage(currentDocument, "xml"); const start = currentDocument.positionAt(targetNode.startIndex); const end = currentDocument.positionAt(targetNode.endIndex); textEditor.selection = new vscode.Selection(start, end); textEditor.revealRange(new vscode.Range(start, end), vscode.TextEditorRevealType.InCenter); } ================================================ FILE: src/handlers/dependency/setDependencyVersionHandler.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { Element, isTag, isText } from "domhandler"; import * as fse from "fs-extra"; import * as semver from "semver"; import * as vscode from "vscode"; import { Dependency } from "../../explorer/model/Dependency"; import { MavenProject } from "../../explorer/model/MavenProject"; import { MavenProjectManager } from "../../project/MavenProjectManager"; import { constructDependenciesNode, constructDependencyManagementNode, constructDependencyNode, getIndentation } from "../../utils/editUtils"; import { UserError } from "../../utils/errorUtils"; import { getInnerEndIndex, getInnerStartIndex, getNodesByTag, XmlTagName } from "../../utils/lexerUtils"; import { getVersions } from "../../utils/requestUtils"; import { getDependencyNodeFromDependenciesNode } from "./utils"; export async function setDependencyVersionHandler(selectedItem?: any): Promise { let pomPath: string; let effectiveVersion: string; if (selectedItem && selectedItem.pomPath) { // codeAction pomPath = selectedItem.pomPath; effectiveVersion = selectedItem.effectiveVersion; } else if (selectedItem && selectedItem instanceof Dependency) { pomPath = selectedItem.projectPomPath; effectiveVersion = selectedItem.omittedStatus?.effectiveVersion ?? selectedItem.version; } else { throw new UserError("No dependency node specified."); } if (!await fse.pathExists(pomPath)) { throw new UserError("Specified POM file does not exist on file system."); } const gid: string = selectedItem.groupId; const aid: string = selectedItem.artifactId; const versions: string[] = getAllVersionsInTree(pomPath, gid, aid); const OPTION_SEARCH_MAVEN_CENTRAL = "Search Maven Central Repository..."; versions.push(OPTION_SEARCH_MAVEN_CENTRAL); let selectedVersion: string | undefined = await vscode.window.showQuickPick( versions.map(version => ({ value: version, label: version !== OPTION_SEARCH_MAVEN_CENTRAL ? `$(package) ${version}` : version, description: version === effectiveVersion ? "effective" : undefined })), { placeHolder: `Select a version for ${gid}:${aid}...`, ignoreFocusOut: true } ).then(version => version ? version.value : undefined); if (selectedVersion === undefined) { return; } if (selectedVersion === OPTION_SEARCH_MAVEN_CENTRAL) { const selectedVersionFromMavenCentral: string | undefined = await vscode.window.showQuickPick( getVersions(gid, aid).then(artifacts => artifacts.map(artifact => ({ value: artifact.v, label: `$(package) ${artifact.v}`, description: artifact.v === effectiveVersion ? "effective" : undefined }))), { placeHolder: `Select a version for ${gid}:${aid}...`, ignoreFocusOut: true } ).then(artifact => artifact ? artifact.value : undefined); if (selectedVersionFromMavenCentral === undefined) { return; } selectedVersion = selectedVersionFromMavenCentral; } if (selectedVersion !== effectiveVersion) { await setDependencyVersion(pomPath, gid, aid, selectedVersion); } } async function setDependencyVersion(pomPath: string, gid: string, aid: string, version: string): Promise { const project: MavenProject | undefined = MavenProjectManager.get(pomPath); if (project === undefined) { throw new Error("Failed to get maven project."); } const pomDocument = await vscode.window.showTextDocument(vscode.Uri.file(pomPath), { preserveFocus: true }); const projectNodes: Element[] = getNodesByTag(pomDocument.document.getText(), XmlTagName.Project); if (projectNodes === undefined || projectNodes.length !== 1) { throw new UserError("Only support POM file with single node."); } const projectNode: Element = projectNodes[0]; const dependenciesNode: Element | undefined = projectNode.children.find(elem => isTag(elem) && elem.tagName === XmlTagName.Dependencies) as Element | undefined; const dependencyManagementNode: Element | undefined = projectNode.children.find(elem => isTag(elem) && elem.tagName === XmlTagName.DependencyManagement) as Element | undefined; // find ${gid:aid} dependency node in to delete const deleteNode = getDependencyNodeFromDependenciesNode(dependenciesNode, gid, aid, project); if (dependencyManagementNode !== undefined) { await insertDependencyManagement(pomPath, dependencyManagementNode, deleteNode, gid, aid, version); } else { await insertDependencyManagement(pomPath, projectNode, deleteNode, gid, aid, version); } } async function insertDependencyManagement(pomPath: string, targetNode: Element, deleteNode: Element | undefined, gid: string, aid: string, version: string): Promise { if (targetNode === undefined) { throw new UserError("Invalid target XML node to insert dependency management."); } const currentDocument: vscode.TextDocument = await vscode.workspace.openTextDocument(pomPath); const textEditor: vscode.TextEditor = await vscode.window.showTextDocument(currentDocument); const baseIndent: string = getIndentation(currentDocument, getInnerEndIndex(targetNode)); const options: vscode.TextEditorOptions = textEditor.options; const indent: string = options.insertSpaces && typeof options.tabSize === "number" ? " ".repeat(options.tabSize) : "\t"; const eol: string = currentDocument.eol === vscode.EndOfLine.LF ? "\n" : "\r\n"; let insertPosition: vscode.Position | undefined; let targetText: string; let dependencyNodeInManagement: Element | undefined; if (targetNode.tagName === XmlTagName.DependencyManagement) { const dependenciesNode: Element | undefined = targetNode?.children?.find(node => isTag(node) && node.tagName === XmlTagName.Dependencies) as Element | undefined; if (dependenciesNode) { insertPosition = currentDocument.positionAt(getInnerStartIndex(dependenciesNode)); // find ${gid:aid} dependency node that already in dependency management to delete dependencyNodeInManagement = dependenciesNode?.children?.find(node => isTag(node) && node.tagName === XmlTagName.Dependency && node.children?.find(id => isTag(id) && id.tagName === XmlTagName.GroupId && id.firstChild && isText(id.firstChild) && id.firstChild.data === gid ) && node.children?.find(id => isTag(id) && id.tagName === XmlTagName.ArtifactId && id.firstChild && isText(id.firstChild) && id.firstChild.data === aid ) ) as Element | undefined; const newIndent = `${baseIndent}${indent}`; targetText = constructDependencyNode({ gid, aid, version, baseIndent: newIndent, indent, eol }); } else { insertPosition = currentDocument.positionAt(getInnerStartIndex(targetNode)); targetText = constructDependenciesNode({ gid, aid, version, baseIndent, indent, eol }); } } else if (targetNode.tagName === XmlTagName.Project) { insertPosition = currentDocument.positionAt(getInnerEndIndex(targetNode)); targetText = constructDependencyManagementNode({ gid, aid, version, baseIndent, indent, eol }); } else { return; } const edit: vscode.WorkspaceEdit = new vscode.WorkspaceEdit(); if (deleteNode) { // the version of ${gid:aid} dependency node already imported should be deleted const versionNode: Element | undefined = deleteNode.children?.find(node => isTag(node) && node.tagName === XmlTagName.Version) as Element | undefined; if (versionNode && versionNode.startIndex !== null && versionNode.endIndex !== null) { const start: number = versionNode.startIndex; const end: number = versionNode.endIndex + 1; const range = new vscode.Range(currentDocument.positionAt(start), currentDocument.positionAt(end)); edit.delete(currentDocument.uri, range); } } if (dependencyNodeInManagement && dependencyNodeInManagement.startIndex !== null && dependencyNodeInManagement.endIndex !== null) { // ${gid:aid} dependency node that already exists in shoule be deleted const start: number = dependencyNodeInManagement.startIndex; const end: number = dependencyNodeInManagement.endIndex + 1; const range = new vscode.Range(currentDocument.positionAt(start), currentDocument.positionAt(end)); edit.delete(currentDocument.uri, range); } edit.insert(currentDocument.uri, insertPosition, targetText); await vscode.workspace.applyEdit(edit); const endingPosition: vscode.Position = currentDocument.positionAt(currentDocument.offsetAt(insertPosition) + targetText.length); textEditor.revealRange(new vscode.Range(insertPosition, endingPosition)); } function getAllVersionsInTree(pomPath: string, gid: string, aid: string): string[] { const project: MavenProject | undefined = MavenProjectManager.get(pomPath); if (project === undefined) { throw new Error("Failed to get maven projects."); } const fullText: string = project.fullText; const re = new RegExp(`${gid}:${aid}:[\\w.-]+`, "gm"); const artifacts: string[] | null = fullText.match(re); let versions: string[] = []; if (artifacts !== null) { artifacts.forEach(a => { versions.push(a.slice(gid.length + aid.length + 2)); }); } function compare(v1: string, v2: string): number { // correct versions that do not follow SemVer Policy const s1: semver.SemVer | null = semver.coerce(v1); const s2: semver.SemVer | null = semver.coerce(v2); const version1: semver.SemVer | string = s1 === null ? v1 : s1; const version2: semver.SemVer | string = s2 === null ? v2 : s2; return semver.rcompare(version1, version2, true); } versions = Array.from(new Set(versions)).sort(compare); return versions; } ================================================ FILE: src/handlers/dependency/showDependenciesHandler.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; import { setUserError } from "vscode-extension-telemetry-wrapper"; import { MavenProject } from "../../explorer/model/MavenProject"; import { rawDependencyTree } from "../../utils/mavenUtils"; import { dependenciesContentUri } from "../../utils/uiUtils"; export async function showDependenciesHandler(project: MavenProject): Promise { const uri = dependenciesContentUri(project.pomPath); await vscode.window.showTextDocument(uri); } export async function getDependencyTree(pomPathOrMavenProject: string | MavenProject): Promise { let pomPath: string; let name: string; if (typeof pomPathOrMavenProject === "object" && pomPathOrMavenProject instanceof MavenProject) { const mavenProject: MavenProject = pomPathOrMavenProject; pomPath = mavenProject.pomPath; name = mavenProject.name; } else if (typeof pomPathOrMavenProject === "string") { pomPath = pomPathOrMavenProject; name = pomPath; } else { return undefined; } const task = async (p: vscode.Progress<{ message?: string }>) => { p.report({ message: `Generating Dependency Tree: ${name}` }); try { const rawData = await rawDependencyTree(pomPath); return (rawData); } catch (error) { setUserError(error); throw(error); } }; return await vscode.window.withProgress({ location: vscode.ProgressLocation.Window, cancellable: false }, task); } ================================================ FILE: src/handlers/dependency/utils.ts ================================================ import * as vscode from "vscode"; import { Element, isTag, isText } from "domhandler"; import { MavenProject } from "../../explorer/model/MavenProject"; import { UserError } from "../../utils/errorUtils"; import { getNodesByTag, XmlTagName } from "../../utils/lexerUtils"; import { MavenProjectManager } from "../../project/MavenProjectManager"; export async function getDependencyNode(pomPath:string, gid: string, aid: string) { const project: MavenProject | undefined = MavenProjectManager.get(pomPath); const pomDocument = await vscode.window.showTextDocument(vscode.Uri.file(pomPath), { preserveFocus: true }); const projectNodes: Element[] = getNodesByTag(pomDocument.document.getText(), XmlTagName.Project); if (projectNodes === undefined || projectNodes.length !== 1) { throw new UserError("Only support POM file with single node."); } const projectNode: Element = projectNodes[0]; const dependenciesNode: Element | undefined = projectNode.children.find(elem => isTag(elem) && elem.tagName === XmlTagName.Dependencies) as Element | undefined; return getDependencyNodeFromDependenciesNode(dependenciesNode, gid, aid, project); } export function getDependencyNodeFromDependenciesNode(dependenciesNode: Element | undefined, gid: string, aid: string, project?: MavenProject) { const dependencyNode = dependenciesNode?.children?.find(node => isTag(node) && node.tagName === XmlTagName.Dependency && node.children?.find(id => isTag(id) && id.tagName === XmlTagName.GroupId && id.firstChild && isText(id.firstChild) && (project ? project.fillProperties(id.firstChild.data) : id.firstChild.data) === gid ) && node.children?.find(id => isTag(id) && id.tagName === XmlTagName.ArtifactId && id.firstChild && isText(id.firstChild) && (project ? project.fillProperties(id.firstChild.data) : id.firstChild.data) === aid ) ) as Element | undefined; return dependencyNode; } ================================================ FILE: src/handlers/favorites/addFavoriteHandler.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { Settings } from "../../Settings"; import * as vscode from "vscode"; export async function addFavoriteHandler() { const command = await vscode.window.showInputBox({ title: "Add favorite", ignoreFocusOut: true, prompt: "Input a command for your favorite execute.", placeHolder: "e.g. clean install", validateInput: (text: string) => { if (text.trim().length < 2) { return "Command is too short."; } return undefined; } }); if (!command) { return; } Settings.storeFavorite({command, debug: false}); } ================================================ FILE: src/handlers/favorites/runFavoriteCommandsHandler.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as _ from "lodash"; import * as vscode from "vscode"; import { MavenProject } from "../../explorer/model/MavenProject"; import { Settings } from "../../Settings"; import { executeInTerminal } from "../../utils/mavenUtils"; import { selectProjectIfNecessary } from "../../utils/uiUtils"; import { debugCommand, IDebugOptions } from "../debugHandler"; import { FavoriteCommand } from "../../explorer/model/FavoriteCommand"; export async function runFavoriteCommandsHandler(project: MavenProject | undefined, command?: FavoriteCommand): Promise { let selectedProject: MavenProject | undefined = project; if (!selectedProject) { selectedProject = await selectProjectIfNecessary(); } if (!selectedProject) { return; } const favorites: FavoriteCommand[] | undefined = Settings.Terminal.favorites(selectedProject); if (!favorites || _.isEmpty(favorites)) { const BUTTON_OPEN_SETTINGS = "Open Settings"; const choice: string | undefined = await vscode.window.showInformationMessage("Found no favorite commands. You can specify `maven.terminal.favorites` in Settings.", BUTTON_OPEN_SETTINGS); if (choice === BUTTON_OPEN_SETTINGS) { await vscode.commands.executeCommand("workbench.action.openSettings", "maven.terminal.favorites"); } return; } let selectedCommand: FavoriteCommand | undefined = command; if (!selectedCommand) { selectedCommand = await vscode.window.showQuickPick( favorites.map(item => ({ value: item, label: item.alias, description: item.command })), { ignoreFocusOut: true, placeHolder: "Select a favorite command ...", matchOnDescription: true } ).then(item => item ? item.value : undefined); } if (!selectedCommand) { return; } const config: IDebugOptions = { command: selectedCommand.command, pomfile: selectedProject.pomPath, projectName: selectedProject.artifactId }; if (selectedCommand.debug) { await debugCommand(config); } else { await executeInTerminal(config); } } ================================================ FILE: src/handlers/lifecycle/executeLifecyclePhaseHandler.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { executeInTerminal } from "../../utils/mavenUtils"; import { resolveLifecyclePhaseExecutionOptions } from "./lifecyclePhaseExecutionArgs"; export async function executeLifecyclePhaseHandler(node: unknown): Promise { await executeInTerminal(resolveLifecyclePhaseExecutionOptions(node)); } ================================================ FILE: src/handlers/lifecycle/lifecyclePhaseExecutionArgs.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { DEFAULT_MAVEN_LIFECYCLES } from "../../completion/constants"; export interface LifecyclePhaseExecutionArgs { phase: string; pomPath: string; } export interface LifecyclePhaseExecutionOptions { command: string; pomfile: string; } export function resolveLifecyclePhaseExecutionOptions(value: unknown): LifecyclePhaseExecutionOptions { const args = normalizeLifecyclePhaseExecutionArgs(value); if (!args) { throw new Error("Invalid Maven lifecycle phase command arguments."); } if (!DEFAULT_MAVEN_LIFECYCLES.includes(args.phase)) { throw new Error(`Unsupported Maven lifecycle phase: ${args.phase}`); } return { command: args.phase, pomfile: args.pomPath }; } export function normalizeLifecyclePhaseExecutionArgs(value: unknown): LifecyclePhaseExecutionArgs | undefined { if (!isRecord(value)) { return undefined; } const { phase, pomPath } = value; if (typeof phase === "string" && typeof pomPath === "string") { return { phase, pomPath }; } const { project } = value; if (typeof phase === "string" && isRecord(project) && typeof project.pomPath === "string") { return { phase, pomPath: project.pomPath }; } return undefined; } function isRecord(value: unknown): value is Record { return typeof value === "object" && value !== null; } ================================================ FILE: src/handlers/parseRawDependencyDataHandler.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as path from "path"; import * as vscode from "vscode"; import { Dependency } from "../explorer/model/Dependency"; import { MavenProject } from "../explorer/model/MavenProject"; import { IOmittedStatus } from "../explorer/model/OmittedStatus"; import { getDependencyTree } from "./dependency/showDependenciesHandler"; const DUPLICATE_INDICATOR = "omitted for duplicate"; const CONFLICT_INDICATOR = "omitted for conflict"; export async function parseRawDependencyDataHandler(project: MavenProject): Promise { const dependencyTree: string | undefined = await getDependencyTree(project.pomPath); if (dependencyTree === undefined) { throw new Error("Failed to generate dependency tree."); } let treeContent: string = dependencyTree.slice(0, -1); // delete last "\n" treeContent = treeContent.replace(/\|/g, " "); treeContent = treeContent.replace(/\\/g, "+"); treeContent = treeContent.replace(/\n/g, "\r\n"); // handle the version switch in conflict // input = (groupId:artifactId:)(version1)(:scope (omitted for conflict): (version2)) // output = (groupId:artifactId:)(version2)(:scope (omitted for conflict) with (version1)) const re = /([\w.]+:[\w.-]+:)([\w.-]+)(:[\w/.(\s]+):\s([\w.-]+)\)/gm; treeContent = treeContent.replace(re, "$1$4$3 with $2)"); project.fullText = treeContent; const indent = " "; // three spaces const eol = "\r\n"; const prefix = "+- "; const [treeNodes, conflictNodes] = await parseTreeNodes(treeContent, eol, indent, prefix, project.pomPath); project.conflictNodes = conflictNodes; project.dependencyNodes = treeNodes; return treeNodes; } async function parseTreeNodes(treecontent: string, eol: string, indent: string, prefix: string, projectPomPath: string): Promise { const treeNodes: Dependency[] = []; const conflictNodes: Dependency[] = []; if (treecontent) { let curNode: Dependency; let preNode: Dependency; let parentNode: Dependency; let rootNode: Dependency; let curIndentCnt: number; let preIndentCnt: number; const lines: string[] = treecontent.split(eol).splice(1); // delete project name const toDependency = (line: string): Dependency => { let name: string = line.slice(curIndentCnt + prefix.length); const indexCut: number = name.indexOf("("); let supplement = ""; if (indexCut !== -1) { supplement = name.substr(indexCut); name = name.substr(0, indexCut - 1); } const [gid, aid, version, scope] = name.split(":"); let effectiveVersion: string; let omittedStatus: IOmittedStatus | undefined; if (supplement.indexOf(CONFLICT_INDICATOR) !== -1) { const re = /\(omitted for conflict with ([\w.-]+)\)/gm; effectiveVersion = supplement.replace(re, "$1"); omittedStatus = {status: "conflict", effectiveVersion, description: supplement}; } else if (supplement.indexOf(DUPLICATE_INDICATOR) !== -1) { omittedStatus = {status: "duplicate", effectiveVersion: version, description: supplement}; } return new Dependency(gid, aid, version, scope, projectPomPath, omittedStatus); }; lines.forEach(line => { curIndentCnt = line.indexOf(prefix); curNode = toDependency(line); let uri: vscode.Uri; let curFilePath: string; if (curIndentCnt === 0) { curNode.root = curNode; rootNode = curNode; parentNode = curNode; curFilePath = path.join(curNode.groupId, curNode.artifactId); } else { curNode.root = rootNode; if (curIndentCnt === preIndentCnt) { parentNode.addChild(curNode); } else if (curIndentCnt > preIndentCnt) { parentNode = preNode; parentNode.addChild(curNode); } else { const level: number = (preIndentCnt - curIndentCnt) / indent.length; for (let i = level; i > 0; i -= 1) { parentNode = parentNode.parent; } parentNode.addChild(curNode); } const parentFilePath: string = parentNode.uri.path; curFilePath = path.join(parentFilePath, path.join(curNode.groupId, curNode.artifactId)); } // set uri uri = vscode.Uri.file(curFilePath); uri = uri.with({authority: projectPomPath}); // distinguish dependency in multi-module project if (curNode.omittedStatus === undefined) { curNode.uri = uri; } else if (curNode.omittedStatus.status === "conflict") { curNode.uri = uri.with({query: "hasConflict"}); // find all parent and set hasConflict upforward let tmpNode = curNode; while (tmpNode.parent !== undefined) { const parent = tmpNode.parent; if (parent.uri.query !== "hasConflict") { parent.uri = uri.with({query: "hasConflict"}); tmpNode = parent; } else { break; } } conflictNodes.push(curNode); } else if (curNode.omittedStatus.status === "duplicate") { curNode.uri = uri.with({query: "isDuplicate"}); } if (curIndentCnt === 0) { treeNodes.push(rootNode); } preIndentCnt = curIndentCnt; preNode = curNode; }); } return [treeNodes, conflictNodes]; } ================================================ FILE: src/hover/hoverProvider.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { Element, isTag, Node } from "domhandler"; import * as vscode from "vscode"; import { getXsdElement } from "../mavenXsd"; import { MavenProject } from "../explorer/model/MavenProject"; import { MavenProjectManager } from "../project/MavenProjectManager"; import { getCurrentNode, getEnclosingTag, getNodePath, getTextFromNode, XmlTagName } from "../utils/lexerUtils"; import { isXmlExtensionEnabled } from "../utils/extensionUtils"; export class HoverProvider implements vscode.HoverProvider { private isXmlExtensionEnabled: boolean; constructor() { this.isXmlExtensionEnabled = isXmlExtensionEnabled(); } public async provideHover(document: vscode.TextDocument, position: vscode.Position, _token: vscode.CancellationToken): Promise { const documentText: string = document.getText(); const cursorOffset: number = document.offsetAt(position); const currentNode: Node | undefined = getCurrentNode(documentText, cursorOffset); if (currentNode === undefined || currentNode.startIndex === null || currentNode.endIndex === null) { return undefined; } const nodePath = getNodePath(currentNode); const xsdElement = getXsdElement(nodePath); const tagNode = getEnclosingTag(currentNode); switch (tagNode?.tagName) { case XmlTagName.GroupId: case XmlTagName.ArtifactId: case XmlTagName.Version: { const targetNode = tagNode.parent; const targetRange: vscode.Range = new vscode.Range( targetNode && targetNode.startIndex !== null ? document.positionAt(targetNode?.startIndex) : position, targetNode && targetNode.endIndex !== null ? document.positionAt(targetNode?.endIndex) : position, ); const siblingNodes: Node[] = tagNode.parent?.children ?? []; const artifactIdNode: Element | undefined = siblingNodes.find(elem => isTag(elem) && elem.tagName === XmlTagName.ArtifactId) as Element | undefined; const groupIdNode: Element | undefined = siblingNodes.find(elem => isTag(elem) && elem.tagName === XmlTagName.GroupId) as Element | undefined; const groupIdHint = getTextFromNode(groupIdNode?.firstChild); const artifactIdHint = getTextFromNode(artifactIdNode?.firstChild); if (groupIdHint && artifactIdHint) { const mavenProject: MavenProject | undefined = MavenProjectManager.get(document.uri.fsPath); if (!mavenProject) { return undefined; } const effectiveVersion: string | undefined = mavenProject.getDependencyVersion(groupIdHint, artifactIdHint); if (effectiveVersion) { return new vscode.Hover([ `groupId = ${groupIdHint}`, `artifactId = ${artifactIdHint}`, `version = ${effectiveVersion}` ].join("\n\n"), targetRange); } } return undefined; } default: // schema-based if (this.isXmlExtensionEnabled) { // See: https://github.com/microsoft/vscode-maven/issues/918 return undefined; } return xsdElement ? new vscode.Hover([xsdElement.nodePath.replace(/\./g, ">"), xsdElement.markdownString], new vscode.Range(position, position)) : undefined; } } } ================================================ FILE: src/jdtls/artifactSearcher.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as path from "path"; import * as vscode from "vscode"; import { applyWorkspaceEdit } from "../utils/editUtils"; import { registerCommand } from "../utils/uiUtils"; import { executeJavaLanguageServerCommand, getJavaExtension, isJavaExtActivated } from "./commands"; // Please refer to https://help.eclipse.org/2019-06/index.jsp?topic=%2Forg.eclipse.jdt.doc.isv%2Freference%2Fapi%2Fconstant-values.html const UNDEFINED_TYPE = "16777218"; // e.g. Unknown var; const UNDEFINED_NAME = "570425394"; // e.g. Unknown.foo(); const COMMAND_SEARCH_ARTIFACT = "maven.artifactSearch"; const TITLE_RESOLVE_UNKNOWN_TYPE = "Resolve unknown type"; export function registerArtifactSearcher(context: vscode.ExtensionContext): void { const javaExt: vscode.Extension | undefined = getJavaExtension(); if (javaExt) { const resolver: TypeResolver = new TypeResolver(path.join(context.extensionPath, "resources", "IndexData")); registerCommand(context, COMMAND_SEARCH_ARTIFACT, async (param: any) => await resolver.pickAndAddDependency(param)); context.subscriptions.push(vscode.languages.registerHoverProvider("java", { provideHover(document: vscode.TextDocument, position: vscode.Position, _token: vscode.CancellationToken): vscode.ProviderResult { return resolver.getArtifactsHover(document, position); } })); context.subscriptions.push(vscode.languages.registerCodeActionsProvider("java", { provideCodeActions(document: vscode.TextDocument, range: vscode.Range | vscode.Selection, codeActionContext: vscode.CodeActionContext, _token: vscode.CancellationToken): vscode.ProviderResult<(vscode.Command | vscode.CodeAction)[]> { return resolver.getArtifactsCodeActions(document, codeActionContext, range); } })); } } class TypeResolver { private dataPath: string; private initialized = false; constructor(dataPath: string) { this.dataPath = dataPath; } public async initialize(): Promise { if (!this.initialized) { try { await executeJavaLanguageServerCommand("java.maven.initializeSearcher", this.dataPath); this.initialized = true; } catch (error) { // ignore } } } public getArtifactsHover(document: vscode.TextDocument, position: vscode.Position): vscode.Hover | undefined { if (!isJavaExtActivated()) { return undefined; } if (!this.initialized) { this.initialize().catch(); return undefined; } const diagnostics: vscode.Diagnostic[] = vscode.languages.getDiagnostics(document.uri).filter(diagnostic => { return diagnosticIndicatesUnresolvedType(diagnostic, document) && position.isAfterOrEqual(diagnostic.range.start) && position.isBeforeOrEqual(diagnostic.range.end); }); if (diagnostics.length > 0) { const diagnostic: vscode.Diagnostic = diagnostics[0]; const line: number = diagnostic.range.start.line; const character: number = diagnostic.range.start.character; const className: string = document.getText(diagnostic.range); const length: number = document.offsetAt(diagnostic.range.end) - document.offsetAt(diagnostic.range.start); const param: any = { className, uri: encodeBase64(document.uri.toString()), line, character, length }; const commandName: string = TITLE_RESOLVE_UNKNOWN_TYPE; const message = `\uD83D\uDC49 [${commandName}](command:${COMMAND_SEARCH_ARTIFACT}?${encodeURIComponent(JSON.stringify(param))} "${commandName}")`; const hoverMessage: vscode.MarkdownString = new vscode.MarkdownString(message); hoverMessage.isTrusted = true; return new vscode.Hover(hoverMessage); } else { return undefined; } } public getArtifactsCodeActions(document: vscode.TextDocument, context: vscode.CodeActionContext, _selectRange: vscode.Range): vscode.CodeAction[] | undefined { if (!isJavaExtActivated()) { return undefined; } if (!this.initialized) { this.initialize().catch(); return undefined; } const diagnostics: vscode.Diagnostic[] = context.diagnostics.filter(diagnostic => { return diagnosticIndicatesUnresolvedType(diagnostic, document); }); if (diagnostics.length > 0) { const range: vscode.Range = diagnostics[0].range; const className: string = document.getText(range); const uri: string = document.uri.toString(); const line: number = range.start.line; const character: number = range.start.character; const length: number = document.offsetAt(range.end) - document.offsetAt(range.start); const command: vscode.Command = { title: TITLE_RESOLVE_UNKNOWN_TYPE, command: COMMAND_SEARCH_ARTIFACT, arguments: [{ className, uri: encodeBase64(uri), line, character, length }] }; const codeAction: vscode.CodeAction = { title: `${TITLE_RESOLVE_UNKNOWN_TYPE} '${className}'`, command, kind: vscode.CodeActionKind.QuickFix }; return [codeAction]; } else { return []; } } public async pickAndAddDependency(param: any): Promise { if (!isJavaExtActivated()) { return; } if (!this.initialized) { this.initialize().catch(); return; } const pickItem: vscode.QuickPickItem | undefined = await vscode.window.showQuickPick(getArtifactsPickItems(param.className), { placeHolder: "Select the artifact you want to add" }); if (pickItem === undefined) { return; } param.uri = decodeBase64(param.uri); const edits: vscode.WorkspaceEdit[] = await getWorkSpaceEdits(pickItem, param); await applyEdits(vscode.Uri.parse(param.uri), edits); } } async function getArtifactsPickItems(className: string): Promise { const searchParam: ISearchArtifactParam = { searchType: SearchType.className, className }; const response: IArtifactSearchResult[] = await executeJavaLanguageServerCommand("java.maven.searchArtifact", searchParam); const picks: vscode.QuickPickItem[] = []; for (let i = 0; i < Math.min(Math.round(response.length / 5), 5); i += 1) { const arr: string[] = [response[i].groupId, " : ", response[i].artifactId, " : ", response[i].version]; picks.push( { label: `$(thumbsup) ${response[i].className}`, description: response[i].fullClassName, detail: arr.join("") } ); } for (let i: number = Math.min(Math.round(response.length / 5), 5); i < response.length; i += 1) { const arr: string[] = [response[i].groupId, " : ", response[i].artifactId, " : ", response[i].version]; picks.push( { label: response[i].className, description: response[i].fullClassName, detail: arr.join("") } ); } return picks; } async function applyEdits(uri: vscode.Uri, edits: any): Promise { // if the pom is invalid, no change occurs in edits[2] if (Object.keys(edits[2].changes).length > 0) { // 0: import 1: replace await applyWorkspaceEdit(edits[0]); await applyWorkspaceEdit(edits[1]); let document: vscode.TextDocument = await vscode.workspace.openTextDocument(uri); document.save(); // 2: pom if (edits[2].changes[Object.keys(edits[2].changes)[0]].length === 0) { // already has this dependency return; } await applyWorkspaceEdit(edits[2]); document = await vscode.workspace.openTextDocument(vscode.Uri.parse(Object.keys(edits[2].changes)[0])); document.save(); const LINE_OFFSET = 1; // tslint:disable-next-line: restrict-plus-operands const startLine: number = edits[2].changes[Object.keys(edits[2].changes)[0]][0].range.start.line + LINE_OFFSET; // skip blank line const lineNumber: number = edits[2].changes[Object.keys(edits[2].changes)[0]][0].newText.indexOf("") === -1 ? 5 : 7; const editor: vscode.TextEditor = await vscode.window.showTextDocument(document, { selection: new vscode.Range(startLine, 0, startLine + lineNumber, 0), preview: false }); editor.revealRange(new vscode.Range(startLine, 0, startLine + lineNumber, 0), vscode.TextEditorRevealType.InCenter); } else { vscode.window.showInformationMessage("Sorry, the pom.xml file is inexistent or invalid."); } } async function getWorkSpaceEdits(pickItem: vscode.QuickPickItem, param: any): Promise { return await executeJavaLanguageServerCommand("java.maven.addDependency", pickItem.description, pickItem.detail, param.uri, param.line, param.character, param.length); } function startsWithCapitalLetter(word: string): boolean { return word.charCodeAt(0) >= 65 && word.charCodeAt(0) <= 90; } function diagnosticIndicatesUnresolvedType(diagnostic: vscode.Diagnostic, document: vscode.TextDocument): boolean { return ( UNDEFINED_TYPE === diagnostic.code || UNDEFINED_NAME === diagnostic.code && startsWithCapitalLetter(document.getText(diagnostic.range)) ); } function encodeBase64(content: string): string { return Buffer.from(content, "utf8").toString("base64"); } function decodeBase64(content: string): string { return Buffer.from(content, "base64").toString("utf8"); } export interface IArtifactSearchResult { groupId: string; artifactId: string; version: string; className: string; fullClassName: string; usage: number; kind: number; } export enum SearchType { className = "CLASSNAME", identifier = "IDENTIFIER" } export interface ISearchArtifactParam { searchType: SearchType; className?: string; groupId?: string; artifactId?: string; } ================================================ FILE: src/jdtls/commands.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; import { JavaExtensionNotActivatedError } from "../utils/errorUtils"; const JAVA_EXTENSION_ID = "redhat.java"; const JAVA_EXECUTE_WORKSPACE_COMMAND = "java.execute.workspaceCommand"; // tslint:disable-next-line:export-name export function executeJavaLanguageServerCommand(...rest: unknown[]): Promise { if (!isJavaExtEnabled()) { throw new JavaExtensionNotActivatedError( `Cannot execute command ${JAVA_EXECUTE_WORKSPACE_COMMAND}, VS Code Java Extension is not enabled.`); } return vscode.commands.executeCommand(JAVA_EXECUTE_WORKSPACE_COMMAND, ...rest) as Promise; } export function isJavaExtEnabled(): boolean { const javaExt: vscode.Extension | undefined = getJavaExtension(); return !!javaExt; } export function isJavaExtActivated(): boolean { const javaExt: vscode.Extension | undefined = getJavaExtension(); return !!javaExt && javaExt.isActive; } export function getJavaExtension(): vscode.Extension | undefined { return vscode.extensions.getExtension(JAVA_EXTENSION_ID); } export function isJavaLanguageServerStandard(): boolean { // eslint-disable-next-line @typescript-eslint/no-explicit-any const javaExt: vscode.Extension | undefined = getJavaExtension(); return javaExt?.exports?.serverMode === "Standard"; } ================================================ FILE: src/mavenOutputChannel.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; class MavenOutputChannel implements vscode.Disposable { private readonly channel: vscode.OutputChannel = vscode.window.createOutputChannel("Maven for Java"); public appendLine(message: string, title?: string): void { if (title) { const simplifiedTime: string = (new Date()).toISOString().replace(/z|t/gi, " ").trim(); // YYYY-MM-DD HH:mm:ss.sss const highlightingTitle = `[${title} ${simplifiedTime}]`; this.channel.appendLine(highlightingTitle); } this.channel.appendLine(message); } public append(message: string): void { this.channel.append(message); } public show(): void { this.channel.show(); } public dispose(): void { this.channel.dispose(); } } export const mavenOutputChannel: MavenOutputChannel = new MavenOutputChannel(); ================================================ FILE: src/mavenProblemMatcher.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; import * as path from "path"; export class MavenProblemMatcher { private diagnosticCollection: vscode.DiagnosticCollection; constructor() { this.diagnosticCollection = vscode.languages.createDiagnosticCollection("maven"); } public parseMavenOutput(output: string, workspaceRoot: string): void { this.diagnosticCollection.clear(); const diagnosticsMap = new Map(); const lines = output.split(/\r?\n/); for (const line of lines) { const diagnostic = this.parseErrorLine(line, workspaceRoot); if (diagnostic) { const filePath = diagnostic.file; if (!diagnosticsMap.has(filePath)) { diagnosticsMap.set(filePath, []); } diagnosticsMap.get(filePath)!.push(diagnostic.diagnostic); } } for (const [filePath, diagnostics] of diagnosticsMap) { this.diagnosticCollection.set(vscode.Uri.file(filePath), diagnostics); } } private parseErrorLine(line: string, workspaceRoot: string): { file: string; diagnostic: vscode.Diagnostic } | null { // Match Maven error format: [ERROR] /path/to/file.java:[line,column] message const errorMatch = line.match(/^\[ERROR\]\s+(.+?):\[(\d+),(\d+)\]\s+(.+?)\r?$/); if (errorMatch) { const [, filePath, lineStr, columnStr, message] = errorMatch; const fullPath = path.isAbsolute(filePath) ? filePath : path.join(workspaceRoot, filePath); const lineNum = parseInt(lineStr) - 1; // VS Code uses 0-based line numbers const columnNum = parseInt(columnStr) - 1; const diagnostic = new vscode.Diagnostic( new vscode.Range(lineNum, columnNum, lineNum, columnNum + 1), message, vscode.DiagnosticSeverity.Error ); return { file: fullPath, diagnostic }; } // Match Maven warning - general build warnings without specific file location const warningMatch = line.match(/^\[WARNING\]\s+(.+?)\r?$/); if (warningMatch && !warningMatch[1].includes('COMPILATION WARNING')) { const [, message] = warningMatch; // For general Maven warnings, create a diagnostic for the pom.xml file const pomPath = path.join(workspaceRoot, 'pom.xml'); const diagnostic = new vscode.Diagnostic( new vscode.Range(0, 0, 0, 1), `Maven: ${message}`, vscode.DiagnosticSeverity.Warning ); return { file: pomPath, diagnostic }; } return null; } public dispose(): void { this.diagnosticCollection.dispose(); } } export const mavenProblemMatcher = new MavenProblemMatcher(); ================================================ FILE: src/mavenTerminal.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as fse from "fs-extra"; import * as path from "path"; import * as vscode from "vscode"; import { mavenOutputChannel } from "./mavenOutputChannel"; import { Settings } from "./Settings"; import { executeCommand } from "./utils/cpUtils"; import { mavenProblemMatcher } from "./mavenProblemMatcher"; export interface ITerminalOptions { addNewLine?: boolean; name: string; cwd?: string; env?: { [key: string]: string }; workspaceFolder?: vscode.WorkspaceFolder; } enum ShellType { CMD = "Command Prompt", POWERSHELL = "PowerShell", GIT_BASH = "Git Bash", WSL = "WSL Bash", OTHERS = "Others" } class MavenTerminal implements vscode.Disposable { private readonly terminals: { [id: string]: vscode.Terminal } = {}; public async runInTerminal(command: string, options: ITerminalOptions): Promise { const defaultOptions: ITerminalOptions = { addNewLine: true, name: "Maven" }; const { addNewLine, name, cwd, workspaceFolder } = Object.assign(defaultOptions, options); if (this.terminals[name] === undefined) { // Open terminal in workspaceFolder if provided // See: https://github.com/microsoft/vscode-maven/issues/467#issuecomment-584544090 const terminalCwd: vscode.Uri | undefined = workspaceFolder ? workspaceFolder.uri : undefined; const env: { [envKey: string]: string } = { ...Settings.getEnvironment(terminalCwd), ...options.env }; this.terminals[name] = vscode.window.createTerminal({ name, env, cwd: terminalCwd }); // Workaround for WSL custom envs. // See: https://github.com/Microsoft/vscode/issues/71267 if (currentWindowsShell() === ShellType.WSL) { setupEnvForWSL(this.terminals[name], env); } } this.terminals[name].show(); if (cwd) { this.terminals[name].sendText(await getCDCommand(cwd), true); } this.terminals[name].sendText(getCommand(command), addNewLine); return this.terminals[name]; } // To Refactor: remove from here. public async formattedPathForTerminal(filepath: string): Promise { if (process.platform !== "win32") { return filepath; } switch (currentWindowsShell()) { case ShellType.WSL: return await toWslPath(filepath); case ShellType.POWERSHELL: { // On Windows, append .cmd for `path/to/mvn` to prevent popup window // See: https://github.com/microsoft/vscode-maven/pull/494#issuecomment-633869294 if (path.extname(filepath) === "") { // try .cmd or .bat (up to maven version) // See: https://github.com/microsoft/vscode-maven/issues/489#issuecomment-917613597 const possibleExts = ["cmd", "bat"]; for (const ext of possibleExts) { const amended = `${filepath}.${ext}`; if (await fse.pathExists(amended)) { return amended; } } } return filepath; } default: return filepath; } } public dispose(terminalName?: string): void { if (terminalName === undefined) {// If the name is not passed, dispose all. Object.keys(this.terminals).forEach((id: string) => { this.terminals[id].dispose(); delete this.terminals[id]; }); mavenProblemMatcher.dispose(); } else if (this.terminals[terminalName] !== undefined) { this.terminals[terminalName].dispose(); delete this.terminals[terminalName]; } } public find(terminal: vscode.Terminal): string | undefined { for (const name in this.terminals) { if (this.terminals[name] === terminal) { return name; } } return; } } function getCommand(cmd: string): string { if (currentWindowsShell() === ShellType.POWERSHELL) { return `& ${cmd}`; } else { return cmd; } } async function getCDCommand(cwd: string): Promise { if (process.platform === "win32") { switch (currentWindowsShell()) { case ShellType.GIT_BASH: return `cd "${cwd.replace(/\\+$/, "")}"`; // Git Bash: remove trailing '\' case ShellType.POWERSHELL: { // Escape '[' and ']' in PowerShell // See: https://github.com/microsoft/vscode-maven/issues/324 const escaped: string = cwd.replace(/([[\]])/g, "``$1"); return `cd "${escaped}"`; // PowerShell } case ShellType.CMD: return `cd /d "${cwd}"`; // CMD case ShellType.WSL: return `cd "${await toWslPath(cwd)}"`; // WSL default: return `cd "${cwd}"`; // Unknown, try using common one. } } else { return `cd "${cwd}"`; } } // Ref: // https://github.com/microsoft/vscode/blob/1755a21efc89bcb5ccef3fd908372bf7c8944d3c/src/vs/platform/terminal/node/windowsShellHelper.ts#L144-L164 function currentWindowsShell(): ShellType { const currentWindowsShellPath: string = vscode.env.shell; const executable: string = path.basename(currentWindowsShellPath); switch (executable.toLowerCase()) { case "cmd.exe": return ShellType.CMD; case "pwsh.exe": case "powershell.exe": case "pwsh": // pwsh on mac/linux return ShellType.POWERSHELL; case "bash.exe": case 'git-cmd.exe': return ShellType.GIT_BASH; case 'wsl.exe': case 'ubuntu.exe': case 'ubuntu1804.exe': case 'kali.exe': case 'debian.exe': case 'opensuse-42.exe': case 'sles-12.exe': return ShellType.WSL; default: return ShellType.OTHERS; } } function toDefaultWslPath(p: string): string { const arr: string[] = p.split(":\\"); if (arr.length === 2) { const drive: string = arr[0].toLowerCase(); const dir: string = arr[1].replace(/\\/g, "/"); return `/mnt/${drive}/${dir}`; } else { return p.replace(/\\/g, "/"); } } export async function toWslPath(filepath: string): Promise { if (path.posix.isAbsolute(filepath)) { return filepath; } try { return (await executeCommand("wsl", ["wslpath", "-u", `"${filepath.replace(/\\/g, "/")}"`])).trim(); } catch (error) { mavenOutputChannel.appendLine(error, "WSL"); return toDefaultWslPath(filepath); } } export async function toWinPath(filepath: string): Promise { return (await executeCommand("wsl", ["wslpath", "-w", `"${filepath}"`])).trim(); } export const mavenTerminal: MavenTerminal = new MavenTerminal(); function setupEnvForWSL(terminal: vscode.Terminal, env: { [envKey: string]: string }): void { if (terminal !== undefined) { Object.keys(env).forEach(key => { terminal.sendText(`export ${key}="${env[key]}"`, true); }); } } ================================================ FILE: src/mavenXsd.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { getPathToExtensionRoot } from "./utils/contextUtils"; import * as fse from "fs-extra"; import * as _ from "lodash"; import { MarkdownString } from "vscode"; import { EOL } from "os"; let schema: unknown; export async function init() { const XSD_FILE_PATH = getPathToExtensionRoot("resources", "maven-4.0.0.xsd.json"); try { schema = await fse.readJson(XSD_FILE_PATH); } catch (error) { console.error(`failed to parse ${XSD_FILE_PATH}`, error); } } export function getXsdElement(nodePath: string) { if (schema) { const obj = _.get(schema, nodePath); return new XSDElement(obj, nodePath); } return undefined; } export class XSDElement { // eslint-disable-next-line @typescript-eslint/no-explicit-any constructor(private definitionObject: { [key: string]: any }, public nodePath: string) { } public get name() : string { const start = this.nodePath.lastIndexOf(".") + 1; return this.nodePath.slice(start); } public get documentation(): { version?: string; description?: string } { return this.definitionObject["$documentation"]; } public get isLeaf() : boolean { return this.definitionObject["$type"]?.startsWith("xs:"); } public get isDeprecated() : boolean { return this.definitionObject["$deprecated"] === true; } public get candidates(): XSDElement[] { const children = Object.entries(this.definitionObject).filter(entry => !entry[0].startsWith("$")); return children.map(c => new XSDElement(c[1], `${this.nodePath}.${c[0]}`)); } public get markdownString() : MarkdownString { const {version, description } = this.documentation; let content = ""; if (description) { content += description; } if (version) { content += EOL + EOL; content += `Version: ${version}` } const mdString = new MarkdownString(content); mdString.supportHtml = true; return mdString; } } ================================================ FILE: src/project/MavenProjectManager.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { MavenProject } from "../explorer/model/MavenProject"; import * as vscode from "vscode"; import { Settings } from "../Settings"; export class MavenProjectManager { private static INSTANCE: MavenProjectManager; private _projectMap: Map = new Map(); public static getInstance() { if (!this.INSTANCE) { this.INSTANCE = new MavenProjectManager(); } return this.INSTANCE; } public static async loadProjects(workspaceFolder?: vscode.WorkspaceFolder): Promise { const newProjects: MavenProject[] = []; const allProjects: MavenProject[] = []; const pomPaths: string[] = await getAllPomPaths(workspaceFolder); for (const pomPath of pomPaths) { let currentProject: MavenProject | undefined = MavenProjectManager.get(pomPath); if (!currentProject) { currentProject = new MavenProject(pomPath); newProjects.push(currentProject); } allProjects.push(currentProject); } await Promise.all(newProjects.map(async elem => elem.parsePom())); MavenProjectManager.update(...newProjects); newProjects.forEach(p => { p.modules.forEach(m => { const moduleNode: MavenProject | undefined = MavenProjectManager.get(m); if (moduleNode && moduleNode.parent === undefined) { moduleNode.parent = p; } }); }); return allProjects; } public static get projects(): MavenProject[] { return Array.from(MavenProjectManager.getInstance()._projectMap.values()); } public static get(pomPath: string): MavenProject | undefined { return MavenProjectManager.getInstance()._projectMap.get(pomPath); } public static update(...items: MavenProject[]): void { for (const item of items) { MavenProjectManager.getInstance()._projectMap.set(item.pomPath, item); } } public static add(pomPath: string): void { const newProject = new MavenProject(pomPath); newProject.parsePom(); MavenProjectManager.getInstance()._projectMap.set(pomPath, newProject); } public static remove(pomPath: string): void { const projectMap = MavenProjectManager.getInstance()._projectMap; if (projectMap.has(pomPath)) { projectMap.delete(pomPath); } } public static async removeAllFrom(folder: vscode.WorkspaceFolder): Promise { const pomPaths: string[] = await getAllPomPaths(folder); for (const pomPath of pomPaths) { MavenProjectManager.remove(pomPath); } } } async function getAllPomPaths(workspaceFolder?: vscode.WorkspaceFolder): Promise { if (!workspaceFolder) { if (vscode.workspace.workspaceFolders) { const arrayOfPoms: string[][] = await Promise.all(vscode.workspace.workspaceFolders.map(getAllPomPaths)); const ret = []; for (const poms of arrayOfPoms) { ret.push(...poms); } return ret; } else { return []; } } const exclusions: string[] = Settings.excludedFolders(workspaceFolder.uri); const pattern: string = Settings.Pomfile.globPattern(); const pomFileUris: vscode.Uri[] = await vscode.workspace.findFiles(new vscode.RelativePattern(workspaceFolder, pattern), `{${exclusions.join(",")}}`); return pomFileUris.map(_uri => _uri.fsPath); } ================================================ FILE: src/taskExecutor.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { Disposable } from "vscode"; export class Queue { private _store: T[] = []; public push(val: T): void { this._store.push(val); } public pop(): T | undefined { return this._store.shift(); } public empty(): boolean { if (this._store.length === 0) { return true; } return false; } } class TaskExecutor implements Disposable { private _tasks: Queue = new Queue(); private _isExecuting = false; public execute(task: CallableFunction): void { this._tasks.push(task); this._pickAndRun().catch(console.error); } public dispose(): void { // do nothing } private async _pickAndRun(): Promise { if (this._isExecuting) { return; } this._isExecuting = true; const currentTask: CallableFunction | undefined = this._tasks.pop(); if (!currentTask) { this._isExecuting = false; return; } try { await currentTask(); } catch (error) { // ignore. } this._isExecuting = false; this._pickAndRun().catch(console.error); } } export const taskExecutor: TaskExecutor = new TaskExecutor(); ================================================ FILE: src/types.d.ts ================================================ declare module "expand-home-dir"; ================================================ FILE: src/utils/Utils.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as fse from "fs-extra"; import * as http from "http"; import * as https from "https"; import * as md5 from "md5"; import * as path from "path"; import * as url from "url"; import { commands, Progress, ProgressLocation, Uri, window } from "vscode"; import { createUuid, setUserError } from "vscode-extension-telemetry-wrapper"; import * as xml2js from "xml2js"; import { DEFAULT_MAVEN_LIFECYCLES } from "../completion/constants"; import { FavoriteCommand } from "../explorer/model/FavoriteCommand"; import { LifecyclePhase } from "../explorer/model/LifecyclePhase"; import { MavenProfile } from "../explorer/model/MavenProfile"; import { MavenProject } from "../explorer/model/MavenProject"; import { runFavoriteCommandsHandler } from "../handlers/favorites/runFavoriteCommandsHandler"; import { MavenProjectManager } from "../project/MavenProjectManager"; import { getExtensionVersion, getPathToTempFolder, getPathToWorkspaceStorage } from "./contextUtils"; import { MavenNotFoundError } from "./errorUtils"; import { getLRUCommands, ICommandHistoryEntry } from "./historyUtils"; import { executeInTerminal, getMaven, pluginDescription, rawEffectivePom } from "./mavenUtils"; import { effectivePomContentUri, selectProjectIfNecessary } from "./uiUtils"; export class Utils { public static async parseXmlFile(xmlFilePath: string, options?: xml2js.OptionsV2): Promise { if (await fse.pathExists(xmlFilePath)) { const xmlString: string = await fse.readFile(xmlFilePath, "utf8"); return Utils.parseXmlContent(xmlString, options); } else { return undefined; } } public static async parseXmlContent(xmlString: string, options?: xml2js.OptionsV2): Promise { const opts: object = Object.assign({ explicitArray: true }, options); return new Promise( (resolve: (value: unknown) => void, reject: (e: Error) => void): void => { xml2js.parseString(xmlString, opts, (err: Error, res: unknown) => { if (err !== null) { reject(err); } else { resolve(res); } }); } ); } static getTempOutputPath(key: string): string { const pathInWorkspaceFolder: string | undefined = getPathToWorkspaceStorage(md5(key), createUuid()); if (pathInWorkspaceFolder !== undefined) { return pathInWorkspaceFolder; } else { return getPathToTempFolder(md5(key), createUuid()); } } public static async downloadFile(targetUrl: string, readContent?: boolean, customHeaders?: object): Promise { const tempFilePath: string = Utils.getTempOutputPath(targetUrl); await fse.ensureFile(tempFilePath); return await new Promise((resolve: (res: string) => void, reject: (e: Error) => void): void => { const urlObj: url.Url = url.parse(targetUrl); const options: object = Object.assign({ headers: Object.assign({}, customHeaders, { "User-Agent": `vscode/${getExtensionVersion()}` }) }, urlObj); // eslint-disable-next-line @typescript-eslint/no-explicit-any let client: any; if (urlObj.protocol === "https:") { client = https; // tslint:disable-next-line:no-http-string } else if (urlObj.protocol === "http:") { client = http; } else { reject(new Error("Unsupported protocol.")); return; } // tslint:disable-next-line: no-unsafe-any client.get(options, (res: http.IncomingMessage) => { let rawData: string; let ws: fse.WriteStream; if (readContent) { rawData = ""; } else { ws = fse.createWriteStream(tempFilePath); } res.on("data", (chunk: string | Buffer) => { if (readContent) { rawData += chunk; } else { ws.write(chunk); } }); res.on("end", () => { if (readContent) { resolve(rawData); } else { ws.end(); resolve(tempFilePath); } }); }).on("error", (err: Error) => { reject(err); }); }); } public static async showEffectivePom(param: Uri | MavenProject | string): Promise { let pomPath: string | undefined; if (typeof param === "string") { pomPath = param; } else if (typeof param === "object" && param instanceof MavenProject) { pomPath = param.pomPath; } else if (typeof param === "object" && param instanceof Uri) { pomPath = param.fsPath; } if (!pomPath) { throw new Error("Corresponding pom.xml file not found."); } const mvn: string | undefined = await getMaven(pomPath); if (mvn === undefined) { throw new MavenNotFoundError(); } const uri = effectivePomContentUri(pomPath); await window.showTextDocument(uri); } public static async getEffectivePom(pomPathOrMavenProject: string | MavenProject): Promise { let pomPath: string; let name: string; if (typeof pomPathOrMavenProject === "object" && pomPathOrMavenProject instanceof MavenProject) { const mavenProject: MavenProject = pomPathOrMavenProject; pomPath = mavenProject.pomPath; name = mavenProject.name; } else if (typeof pomPathOrMavenProject === "string") { pomPath = pomPathOrMavenProject; name = pomPath; } else { return undefined; } const task = async (p: Progress<{ message?: string }>) => { p.report({ message: `Generating Effective POM: ${name}` }); try { const ret: string | undefined = await rawEffectivePom(pomPath); return (ret ? ret : ""); } catch (error) { setUserError(error); throw (error); } }; return await window.withProgress({ location: ProgressLocation.Notification }, task); } public static async getPluginDescription(pluginId: string, pomPath: string): Promise { const task = async (p: Progress<{ message?: string }>) => { p.report({ message: `Retrieving Plugin Info: ${pluginId}` }); try { const ret: string | undefined = await pluginDescription(pluginId, pomPath); return (ret ? ret : ""); } catch (error) { setUserError(error); throw (error); } }; return await window.withProgress({ location: ProgressLocation.Window }, task); } public static async executeCustomGoal(pomOrProject: string | MavenProject, goal?: string): Promise { let pomPath: string | undefined; if (typeof pomOrProject === "string") { pomPath = pomOrProject; } else if (typeof pomOrProject === "object" && pomOrProject instanceof MavenProject) { pomPath = pomOrProject.pomPath; } if (!pomPath) { return; } const inputGoals: string | undefined = goal || await window.showInputBox({ placeHolder: "e.g. clean package -DskipTests", ignoreFocusOut: true }); const trimmedGoals: string | undefined = inputGoals ? inputGoals.trim() : undefined; if (trimmedGoals) { await executeInTerminal({ command: trimmedGoals, pomfile: pomPath }); } } public static async executeHistoricalGoals(projectPomPaths: string[]): Promise { const candidates: ICommandHistoryEntry[] = Array.prototype.concat.apply( [], await Promise.all(projectPomPaths.map(getLRUCommands)) ) as ICommandHistoryEntry[]; candidates.sort((a, b) => b.timestamp - a.timestamp); const selected: { command: string; pomPath: string; timestamp: number } | undefined = await window.showQuickPick( candidates.map(item => ({ value: item, label: item.command, description: undefined, detail: item.pomPath })), { placeHolder: "Select from history ...", ignoreFocusOut: true } ).then(item => item ? item.value : undefined); if (selected) { await executeInTerminal({ command: selected.command, pomfile: selected.pomPath }); } } public static async executeMavenCommand(node?: LifecyclePhase | FavoriteCommand | { uri: string }): Promise { let selectedProject: MavenProject | undefined; let selectedCommand: string | undefined; if (node instanceof LifecyclePhase) { selectedProject = node.project; selectedCommand = node.phase; } else if (node instanceof FavoriteCommand) { selectedProject = node.project; selectedCommand = node.command; } else if (node && node.uri) { // for nodes from Project Manager const pomPath: string = path.join(Uri.parse(node.uri).fsPath, "pom.xml"); selectedProject = MavenProjectManager.projects.find(project => project.pomPath.toLowerCase() === pomPath.toLowerCase()); } // select a project(pomfile) if (!selectedProject) { selectedProject = await selectProjectIfNecessary(); } if (!selectedProject) { return; } // select a command if not provided if (!selectedCommand) { const LABEL_CUSTOM = "Custom ..."; const LABEL_FAVORITES = "Favorites ..."; selectedCommand = await window.showQuickPick( [LABEL_FAVORITES, LABEL_CUSTOM, ...DEFAULT_MAVEN_LIFECYCLES], { placeHolder: "Select the goal to execute ...", ignoreFocusOut: true } ); if (!selectedCommand) { return; } switch (selectedCommand) { case LABEL_CUSTOM: await commands.executeCommand("maven.goal.custom", selectedProject); return; case LABEL_FAVORITES: await commands.executeCommand("maven.favorites", selectedProject); return; default: break; } } if (node instanceof FavoriteCommand) { await runFavoriteCommandsHandler(selectedProject, node); return; } await commands.executeCommand(`maven.goal.${selectedCommand}`, selectedProject); } public static parseProfilesOutput(project: MavenProject, output: string) : MavenProfile[] { const profiles: MavenProfile[] = []; const regexp = /Profile Id: (.*) \(Active: (true|false)\s?, Source: (.*)\)/g; let match: RegExpExecArray | null; do { match = regexp.exec(output); if (match != null && match.length === 4) { const id = match[1]; const active = match[2] === "true"; const source = match[3]; if (!profiles.find(p => p.id === id)) { const profile = new MavenProfile(project, id, active, source); profiles.push(profile); } } } while (match !== null); return profiles; } } ================================================ FILE: src/utils/contextUtils.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { readdirSync } from "fs"; import * as fse from "fs-extra"; import * as _ from "lodash"; import * as os from "os"; import * as path from "path"; import { ExtensionContext } from "vscode"; import { mavenOutputChannel } from "../mavenOutputChannel"; import { Settings } from "../Settings"; import { Utils } from "./Utils"; let EXTENSION_CONTEXT: ExtensionContext; let EXTENSION_PUBLISHER: string; let EXTENSION_NAME: string; let EXTENSION_VERSION: string; let EXTENSION_AI_KEY: string; let MAVEN_LOCAL_REPOSITORY: string; let TEMP_FOLDER_PER_USER: string; export async function loadPackageInfo(context: ExtensionContext): Promise { EXTENSION_CONTEXT = context; const { publisher, name, version, aiKey } = await fse.readJSON(context.asAbsolutePath("./package.json")); EXTENSION_AI_KEY = aiKey; EXTENSION_PUBLISHER = publisher; EXTENSION_NAME = name; EXTENSION_VERSION = version; TEMP_FOLDER_PER_USER = path.join(os.tmpdir(), `${EXTENSION_NAME}-${os.userInfo().username}`); await loadMavenSettingsFilePath(); if (!MAVEN_LOCAL_REPOSITORY) { MAVEN_LOCAL_REPOSITORY = path.join(os.homedir(), ".m2", "repository"); } } export async function loadMavenSettingsFilePath(): Promise { // find Maven Local Repository try { let userSettingsPath: string | undefined = Settings.getSettingsFilePath(); if (!userSettingsPath) { userSettingsPath = path.join(os.homedir(), ".m2", "settings.xml"); } const userSettings: unknown = await Utils.parseXmlFile(userSettingsPath); const localRepository = _.get(userSettings, "settings.localRepository[0]"); if (localRepository) { MAVEN_LOCAL_REPOSITORY = path.resolve(localRepository); mavenOutputChannel.appendLine(`local repository: ${MAVEN_LOCAL_REPOSITORY}`); } } catch (error) { // ignore } } export function getMavenLocalRepository(): string { return MAVEN_LOCAL_REPOSITORY; } export function getExtensionPublisher(): string { return EXTENSION_PUBLISHER; } export function getExtensionName(): string { return EXTENSION_NAME; } export function getExtensionId(): string { return `${EXTENSION_PUBLISHER}.${EXTENSION_NAME}`; } export function getExtensionVersion(): string { return EXTENSION_VERSION; } export function getAiKey(): string { return EXTENSION_AI_KEY; } export function getPathToTempFolder(...args: string[]): string { return path.join(TEMP_FOLDER_PER_USER, ...args); } export function getPathToExtensionRoot(...args: string[]): string { if (!EXTENSION_CONTEXT) { throw new Error("Cannot identify Maven extension."); } return EXTENSION_CONTEXT.asAbsolutePath(path.join(...args)); } export function getPathToWorkspaceStorage(...args: string[]): string | undefined { if (EXTENSION_CONTEXT?.storagePath === undefined) { return undefined; } fse.ensureDirSync(EXTENSION_CONTEXT.storagePath); return path.join(EXTENSION_CONTEXT.storagePath, ...args); } export function localPomPath(gid: string, aid: string, version: string): string { return path.join(getMavenLocalRepository(), ...gid.split("."), aid, version, `${aid}-${version}.pom`); } export function possibleLocalPomPath(gid: string, aid: string): string[] { const artifactFolder = path.join(getMavenLocalRepository(), ...gid.split("."), aid); const versions = readdirSync(artifactFolder); return versions.map(v => path.join(artifactFolder, v, `${aid}-${v}.pom`)); } ================================================ FILE: src/utils/cpUtils.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as cp from "child_process"; import * as vscode from "vscode"; import { mavenOutputChannel } from "../mavenOutputChannel"; export async function executeCommand(command: string, args: string[], options: cp.SpawnOptions = { shell: true }): Promise { return new Promise((resolve: (res: string) => void, reject: (e: Error) => void): void => { mavenOutputChannel.appendLine(`${command}, [${args.join(",")}]`); let result = ""; const childProc: cp.ChildProcess = cp.spawn(command, args, options); if (childProc.stdout !== null) { childProc.stdout.on("data", (data: string | Buffer) => { data = data.toString(); result = result.concat(data); }); } childProc.on("error", reject); childProc.on("close", (code: number) => { if (code !== 0 || result.indexOf("ERROR") > -1) { reject(new Error(`Command "${command} ${args.toString()}" failed with exit code "${code}".`)); } else { resolve(result); } }); }); } export async function executeCommandWithProgress(message: string, command: string, args: string[], options: cp.SpawnOptions = { shell: true }): Promise { let result = ""; await vscode.window.withProgress({ location: vscode.ProgressLocation.Window }, async (p: vscode.Progress<{ message?: string; increment?: number }>) => { mavenOutputChannel.appendLine(`${command}, [${args.join(",")}]`); return new Promise((resolve, reject) => { p.report({ message }); executeCommand(command, args, options).then((value) => { result = value; resolve(); }).catch(reject); }); }); return result; } ================================================ FILE: src/utils/editUtils.ts ================================================ import * as vscode from "vscode"; import { commands, Position, Selection, TextEdit, TextEditor, window, workspace, WorkspaceEdit } from "vscode"; import * as protocolConverter from "vscode-languageclient/lib/common/protocolConverter"; import * as ls from "vscode-languageserver-protocol"; const p2c: protocolConverter.Converter = protocolConverter.createConverter(undefined, undefined); // tslint:disable-next-line: export-name export async function applyWorkspaceEdit(edit: ls.WorkspaceEdit): Promise { const workspaceEdit: WorkspaceEdit = p2c.asWorkspaceEdit(edit); if (workspaceEdit !== undefined) { await workspace.applyEdit(workspaceEdit); // By executing the range formatting command to correct the indention according to the VS Code editor settings. // More details, see: https://github.com/redhat-developer/vscode-java/issues/557 try { const currentEditor: TextEditor | undefined = window.activeTextEditor; // If the Uri path of the edit change is not equal to that of the active editor, we will skip the range formatting if (!currentEditor || currentEditor.document.uri.fsPath !== workspaceEdit.entries()[0][0].fsPath) { return; } const cursorPostion: Position = currentEditor.selection.active; // Get the array of all the changes const changes: TextEdit[] = workspaceEdit.entries()[0][1]; // Get the position information of the first change let startPosition: Position = new Position(changes[0].range.start.line, changes[0].range.start.character); let lineOffsets: number = changes[0].newText.split(/\r?\n/).length - 1; for (let i = 1; i < changes.length; i += 1) { // When it comes to a discontinuous range, execute the range formatting and record the new start position if (changes[i].range.start.line !== startPosition.line) { await executeRangeFormat(currentEditor, startPosition, lineOffsets); startPosition = new Position(changes[i].range.start.line, changes[i].range.start.character); lineOffsets = 0; } lineOffsets += changes[i].newText.split(/\r?\n/).length - 1; } await executeRangeFormat(currentEditor, startPosition, lineOffsets); // Recover the cursor's original position currentEditor.selection = new Selection(cursorPostion, cursorPostion); } catch (error) { // to handle the error } } } async function executeRangeFormat(editor: TextEditor, startPosition: Position, lineOffset: number): Promise { const endPosition: Position = editor.document.positionAt(editor.document.offsetAt(new Position(startPosition.line + lineOffset + 1, 0)) - 1); editor.selection = new Selection(startPosition, endPosition); await commands.executeCommand("editor.action.formatSelection"); } export function getIndentation(document: vscode.TextDocument, offset: number): string { const closingTagPosition: vscode.Position = document.positionAt(offset); return document.getText(new vscode.Range( new vscode.Position(closingTagPosition.line, 0), closingTagPosition )); } export function constructDependencyNode(options: { gid: string, aid: string, version?: string, dtype?: string, classifier?: string, baseIndent: string, indent: string, eol: string }): string { const { gid, aid, version, dtype, classifier, baseIndent, indent, eol } = options; // init the array with the required params const builder: string[] = [ eol, "", `${indent}${gid}`, `${indent}${aid}`, ]; if (version) { builder.push(`${indent}${version}`); } // add the packaging type if present and not the default if (dtype !== undefined && dtype !== "jar") builder.push(`${indent}${dtype}`); // add the classifier if present if (classifier !== undefined) builder.push(`${indent}${classifier}`); // cap the end of the array with the closing tag builder.push(`${eol}`); // join the array together with the newlines and indents return builder.join(`${eol}${baseIndent}${indent}`); } export function constructDependenciesNode(options: { gid: string, aid: string, version?: string, dtype?: string, classifier?: string, baseIndent: string, indent: string, eol: string }): string { const { gid, aid, version, dtype, classifier, baseIndent, indent, eol } = options; // use the existing dependency method to build that section, just add an extra bump to the indent const dependencyNode = constructDependencyNode({ gid, aid, version, dtype, baseIndent: (baseIndent + indent), classifier, indent, eol }); // wrap the dependency with the dependencies node return [ eol, "", dependencyNode, `${eol}` ].join(`${eol}${baseIndent}${indent}`); } export function constructDependencyManagementNode(options: { gid: string, aid: string, version: string, dtype?: string, classifier?: string, baseIndent: string, indent: string, eol: string }): string { const { gid, aid, version, dtype, classifier, baseIndent, indent, eol } = options; // use the existing dependencies method to build that section, just add an extra bump to the indent const dependenciesNode = constructDependenciesNode({ gid, aid, version, dtype, baseIndent: (baseIndent + indent), classifier, indent, eol }); // wrap the dependencies with the dependencyManagement node return [ eol, "", dependenciesNode, `${eol}` ].join(`${eol}${baseIndent}${indent}`); } ================================================ FILE: src/utils/errorUtils.ts ================================================ import { setUserError } from "vscode-extension-telemetry-wrapper"; import { promptToSettingMavenExecutable } from "./mavenUtils"; import { showTroubleshootingDialog } from "./uiUtils"; // tslint:disable-next-line:export-name export class UserError extends Error { constructor(msg?: string) { super(msg); setUserError(this); } } export class MavenNotFoundError extends UserError { constructor() { super("Maven executable not found."); } } export class OperationCanceledError extends UserError { } // tslint:disable-next-line:max-classes-per-file export class JavaExtensionNotActivatedError extends Error { constructor(msg?: string) { super(msg); setUserError(this); } } export async function generalErrorHandler(commandName: string, error: Error): Promise { if (error instanceof OperationCanceledError) { // swallow } else if (error instanceof MavenNotFoundError) { await promptToSettingMavenExecutable(); } else { await showTroubleshootingDialog(`Command "${commandName}" fails. ${error.message}`); } throw error; } ================================================ FILE: src/utils/extensionUtils.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as vscode from "vscode"; export function isXmlExtensionEnabled() { const XML_EXTENSION_ID = "redhat.vscode-xml"; const xmlExtension = vscode.extensions.getExtension(XML_EXTENSION_ID); return xmlExtension !== undefined; } ================================================ FILE: src/utils/historyUtils.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as fse from "fs-extra"; import * as md5 from "md5"; import { getPathToTempFolder } from "./contextUtils"; export interface ICommandHistory { pomPath: string; timestamps: { [command: string]: number }; } export interface ICommandHistoryEntry { command: string; pomPath: string; timestamp: number; } export async function updateLRUCommands(command: string, pomPath: string): Promise { const historyFilePath: string = getCommandHistoryCachePath(pomPath); await fse.ensureFile(historyFilePath); const content: string = (await fse.readFile(historyFilePath)).toString(); let historyObject: ICommandHistory; try { historyObject = JSON.parse(content) as ICommandHistory; historyObject.pomPath = pomPath; historyObject.timestamps[command] = Date.now(); } catch (error) { historyObject = { pomPath, timestamps: {} }; historyObject.timestamps[command] = Date.now(); } await fse.writeFile(historyFilePath, JSON.stringify(historyObject)); } export async function getLRUCommands(pomPath: string): Promise { const filepath: string = getCommandHistoryCachePath(pomPath); if (await fse.pathExists(filepath)) { const content: string = (await fse.readFile(filepath)).toString(); let historyObject: ICommandHistory; try { historyObject = JSON.parse(content) as ICommandHistory; } catch (error) { historyObject = { pomPath, timestamps: {} }; } const timestamps: { [command: string]: number } = historyObject.timestamps; const commandList: string[] = Object.keys(timestamps).sort((a, b) => timestamps[b] - timestamps[a]); return commandList.map(command => Object.assign({ command, pomPath, timestamp: timestamps[command] }) as ICommandHistoryEntry); } return []; } function getCommandHistoryCachePath(pomXmlFilePath: string): string { return getPathToTempFolder(md5(pomXmlFilePath), "commandHistory.json"); } ================================================ FILE: src/utils/jarUtils.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { Uri, workspace } from "vscode"; import * as jszip from "jszip"; export async function readContentFromJar(jarUri: Uri, ...pathSegs: string[]): Promise { const data = await workspace.fs.readFile(jarUri); const zipData = await jszip.loadAsync(data); const zipObj = zipData.file(pathSegs.join("/")); return zipObj?.async("text"); } ================================================ FILE: src/utils/lexerUtils.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { Document, isTag, Node, NodeWithChildren, Element, isText } from "domhandler"; import * as hp from "htmlparser2"; export type ElementNode = Node; export enum XmlTagName { GroupId = "groupId", ArtifactId = "artifactId", Version = "version", Dependencies = "dependencies", DependencyManagement = "dependencyManagement", Exclusions = "exclusions", Plugins = "plugins", Plugin = "plugin", Project = "project", Dependency = "dependency", Properties = "properties", Packaging = "packaging", Module = "module", Modules = "modules", Parent = "parent", RelativePath = "relativePath" } export function parseDocument(text: string): Document { return hp.parseDocument(text, { withEndIndices: true, withStartIndices: true, lowerCaseTags: false, xmlMode: true, }); } export function getChildrenByTags(parentElement: NodeWithChildren, tags: string[]): Element[] { const ret: Element[] = []; for (const child of parentElement.children) { if (isTag(child) && tags.includes(child.tagName)) { ret.push(child); } } return ret; } /** * This requires the document to be parsed with withStartIndices and withEndIndices options. * * @param xmlDocument the root document * @param rawText the text of the document * @returns the indent size and character */ export function detectDocumentIndent(xmlDocument: Document, rawText: string): any { const projectNodes = getChildrenByTags(xmlDocument, [XmlTagName.Project]); if (!projectNodes.length) { return; } const firstChildElement = projectNodes[0].children.find((node) => isTag(node)); if (!firstChildElement || firstChildElement.startIndex === null) { return; } let indent = 0; let indentChar = ' '; let startOffset = firstChildElement.startIndex; while (--startOffset > 0 && rawText.charAt(startOffset) != '\n') { if (rawText.charAt(startOffset) == '\t') { indentChar = '\t'; } else { indentChar = ' '; } indent++; } return { indent, indentChar }; } export function getNodesByTag(text: string, tag: string): Element[] { const document: Document = hp.parseDocument(text, { withEndIndices: true, withStartIndices: true, lowerCaseTags: false, xmlMode: true, }); const ret: Element[] = []; dfs(document, (node) => isTag(node) && node.tagName === tag, ret); return ret; } export function getCurrentNode(text: string, offset: number): Node | undefined { const document: Document = hp.parseDocument(text, { withEndIndices: true, withStartIndices: true, lowerCaseTags: false, xmlMode: true, }); const ret: Node[] = []; dfs(document, (node) => node.startIndex !== null && node.startIndex <= offset && node.endIndex !== null && offset <= node.endIndex, ret, true); return ret?.[ret.length - 1]; } export function getNodePath(node: Node) { const parents = []; let cur: Node | null = node; while (cur) { if (isTag(cur)) { parents.unshift(cur.tagName); } cur = cur.parent; } return parents.join("."); } export function getTextFromNode(node: Node | undefined | null, fallbackValue = "") { return node && isText(node) ? node.data : fallbackValue; } export function getInnerStartIndex(node: Element) { if (node.startIndex !== null) { return node.startIndex + node.tagName.length + "<>".length; } else { return -1; } } export function getInnerEndIndex(node: Element) { if (node.endIndex !== null) { return node.endIndex - node.tagName.length - "".length + 1; } else { return -1; } } export function getEnclosingTag(node: Node): Element | null { let currentNode: Node | null = node; while (currentNode) { if (isTag(currentNode)) { return currentNode; } currentNode = currentNode.parent; } return null; } function dfs(node: Node, pred: (arg: Node) => boolean, result: Node[], includeAll?: boolean) { if (pred(node)) { result.push(node); if (!includeAll) { return; } } if (node instanceof NodeWithChildren) { for (const child of (node as NodeWithChildren).children) { dfs(child, pred, result, includeAll); } } } ================================================ FILE: src/utils/mavenUtils.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as child_process from "child_process"; import * as expandHome from "expand-home-dir"; import * as fse from "fs-extra"; import * as md5 from "md5"; import * as path from "path"; import * as vscode from "vscode"; import * as which from "which"; import { mavenOutputChannel } from "../mavenOutputChannel"; import { mavenTerminal } from "../mavenTerminal"; import { MavenProjectManager } from "../project/MavenProjectManager"; import { Settings } from "../Settings"; import { getPathToExtensionRoot, getPathToTempFolder, getPathToWorkspaceStorage } from "./contextUtils"; import { mavenProblemMatcher } from "../mavenProblemMatcher"; import { MavenNotFoundError } from "./errorUtils"; import { updateLRUCommands } from "./historyUtils"; // calculate dependency graph const GOAL_DEPENDENCY_GRAPH = "com.github.ferstl:depgraph-maven-plugin:4.0.3:graph"; const OPTIONS_DEPENDENCY_GRAPH = "-DgraphFormat=text -DshowDuplicates -DshowConflicts -DshowVersions -DshowGroupIds"; /** * Get effective pom of a Maven project. * * @param pomPath absolute path of pom.xml * @param options specify the way you want to get effective pom. By default it 1) reads from cache if exists 2) calculate if not. * @returns full content of effective pom */ export async function rawEffectivePom(pomPath: string, options?: {cacheOnly?: boolean}): Promise { const outputPath: string = getTempFolder(pomPath); const epomPath = `${outputPath}.epom`; const mtimePath = `${outputPath}.mtime`; const cachedMTimeMs: string | undefined = await readFileIfExists(mtimePath); const stat: fse.Stats = await fse.stat(pomPath); const mtimeMs: string = stat.mtimeMs.toString(); if (cachedMTimeMs === mtimeMs || options?.cacheOnly) { return await readFileIfExists(epomPath); } await executeInBackground(`-B -Doutput="${epomPath}" help:effective-pom`, pomPath); await fse.writeFile(mtimePath, mtimeMs); return await readFileIfExists(epomPath); } export async function rawDependencyTree(pomPath: string): Promise { const outputPath: string = getTempFolder(pomPath); const dependencyGraphPath = `${outputPath}.deps.txt`; const outputDirectory: string = path.dirname(dependencyGraphPath); const outputFileName: string = path.basename(dependencyGraphPath); await executeInBackground(`-B -N ${OPTIONS_DEPENDENCY_GRAPH} -DoutputDirectory="${outputDirectory}" -DoutputFileName="${outputFileName}" ${GOAL_DEPENDENCY_GRAPH}`, pomPath); return await readFileIfExists(path.join(outputDirectory, outputFileName)); } export async function pluginDescription(pluginId: string, pomPath: string): Promise { const outputPath: string = getTempFolder(pluginId); // For MacOSX, add "-Dapple.awt.UIElement=true" to prevent showing icons in dock await executeInBackground(`-B -Dapple.awt.UIElement=true -Dplugin=${pluginId} -Doutput="${outputPath}" help:describe`, pomPath); return await readFileIfExists(outputPath); } export async function rawProfileList(pomPath: string): Promise { const outputPath: string = getTempFolder(pomPath); const profileListPath = `${outputPath}.profiles.txt`; await executeInBackground(`-B -Doutput="${profileListPath}" help:all-profiles`, pomPath); return await readFileIfExists(profileListPath); } async function executeInBackground(mvnArgs: string, pomfile?: string): Promise { const mvn: string | undefined = await getMaven(pomfile); if (mvn === undefined) { throw new MavenNotFoundError(); } const command: string = wrappedWithQuotes(mvn); // TODO: re-visit cwd const workspaceFolder: vscode.WorkspaceFolder | undefined = pomfile ? vscode.workspace.getWorkspaceFolder(vscode.Uri.file(pomfile)) : undefined; const cwd: string | undefined = workspaceFolder ? path.resolve(workspaceFolder.uri.fsPath, mvn, "..") : undefined; const userArgs: string | undefined = Settings.Executable.options(pomfile); const mvnSettingsFile: string | undefined = Settings.getSettingsFilePath(); const mvnSettingsArg: string | undefined = mvnSettingsFile ? `-s "${await mavenTerminal.formattedPathForTerminal(mvnSettingsFile)}"` : undefined; const matched: RegExpMatchArray | null = [mvnSettingsArg, mvnArgs, userArgs].filter(Boolean).join(" ").match(/(?:[^\s"]+|"[^"]*")+/g); // Split by space, but ignore spaces in quotes const args: string[] = matched !== null ? matched : []; if (pomfile) { args.push("-f", `"${pomfile}"`); } const spawnOptions: child_process.SpawnOptions = { cwd, env: Object.assign({}, process.env, Settings.getEnvironment(pomfile)), shell: true }; return new Promise((resolve: (value: unknown) => void, reject: (e: Error) => void): void => { mavenOutputChannel.appendLine(`Spawn ${JSON.stringify({ command, args })}`); const proc: child_process.ChildProcess = child_process.spawn(command, args, spawnOptions); // CodeQL [SM03609] safe here as args is assembled in the code and cannot be arbitrary string. proc.on("error", (err: Error) => { reject(new Error(`Error occurred in background process. ${err.message}`)); }); proc.on("exit", (code: number, signal: string) => { if (code !== null) { if (code === 0) { resolve(code); } else { reject(new Error(`Background process terminated with code ${code}.`)); } } else { reject(new Error(`Background process killed by signal ${signal}.`)); } }); let outputBuffer = ""; if (proc.stdout !== null) { proc.stdout.on("data", (chunk: Buffer) => { const output = chunk.toString(); outputBuffer += output; mavenOutputChannel.append(output); }); } if (proc.stderr !== null) { proc.stderr.on("data", (chunk: Buffer) => { const output = chunk.toString(); outputBuffer += output; mavenOutputChannel.append(output); }); } proc.on("close", () => { if (outputBuffer && pomfile) { mavenProblemMatcher.parseMavenOutput(outputBuffer, path.dirname(pomfile)); } }); }); } export async function executeInTerminal(options: { command: string; mvnPath?: string; pomfile?: string; cwd?: string; env?: { [key: string]: string }; terminalName?: string; }): Promise { const { command, mvnPath, pomfile, cwd, env, terminalName } = options; const workspaceFolder: vscode.WorkspaceFolder | undefined = pomfile ? vscode.workspace.getWorkspaceFolder(vscode.Uri.file(pomfile)) : undefined; const mvn: string | undefined = mvnPath ? mvnPath : await getMaven(pomfile); if (mvn === undefined) { await promptToSettingMavenExecutable(); return undefined; } const mvnString: string = wrappedWithQuotes(await mavenTerminal.formattedPathForTerminal(mvn)); const mvnSettingsFile: string | undefined = Settings.getSettingsFilePath(); // profiles let profileOptions: string | undefined; if (pomfile) { const project = MavenProjectManager.get(pomfile); const selectedIds = project?.profiles?.filter(p => p.selected === true)?.map(p => p.id) ?? []; const unselectedIds = project?.profiles?.filter(p => p.selected === false)?.map(p => `-${p.id}`) ?? []; const profileList = selectedIds.concat(unselectedIds).join(","); if (profileList) { profileOptions = `-P="${profileList}"`; } } const fullCommand: string = [ mvnString, mvnSettingsFile && `-s "${await mavenTerminal.formattedPathForTerminal(mvnSettingsFile)}"`, command.trim(), pomfile && `-f "${await mavenTerminal.formattedPathForTerminal(pomfile)}"`, profileOptions, Settings.Executable.options(pomfile) ].filter(Boolean).join(" "); const name: string = terminalName || (workspaceFolder ? `Maven-${workspaceFolder.name}` : "Maven"); const terminal: vscode.Terminal = await mavenTerminal.runInTerminal(fullCommand, { name, cwd, env, workspaceFolder }); if (pomfile) { await updateLRUCommands(command, pomfile); } return terminal; } export async function getMaven(pomPath?: string): Promise { const mvnPathFromSettings: string | undefined = getEffectiveExecutablePath(pomPath); if (mvnPathFromSettings) { // expand tilde to deal with ~/path-to-mvn const expandedPath: string = expandHome(mvnPathFromSettings); const safetyResult: "safe" | "use-default" | "abort" = await checkExecutablePathSafety(expandedPath); if (safetyResult === "safe") { return expandedPath; } if (safetyResult === "abort") { // User chose Open Settings or dismissed — abort the operation return undefined; } // "use-default": User explicitly chose to use default Maven — skip wrapper // (also potentially attacker-controlled) and fall through to system Maven mavenOutputChannel.appendLine(`Configured Maven path "${expandedPath}" was declined. Falling back to system Maven.`); return await defaultMavenExecutable(); } const preferMavenWrapper: boolean = Settings.Executable.preferMavenWrapper(pomPath); if (preferMavenWrapper && pomPath && vscode.workspace.isTrusted) { const localMvnwPath: string | undefined = await getLocalMavenWrapper(path.dirname(pomPath)); if (localMvnwPath) { return localMvnwPath; } } return await defaultMavenExecutable(); } // Set of canonical executable paths the user has explicitly confirmed as safe during this session const confirmedExecutablePaths: Set = new Set(); /** * Returns the effective maven.executable.path, filtering out workspace-level * overrides when the workspace is not trusted. User/machine-level (global) * settings are always honored regardless of trust state. */ function getEffectiveExecutablePath(resourceOrFilepath?: vscode.Uri | string): string | undefined { let resource: vscode.Uri | undefined; if (typeof resourceOrFilepath === "string") { resource = vscode.Uri.file(resourceOrFilepath); } else { resource = resourceOrFilepath; } const config = vscode.workspace.getConfiguration("maven", resource); const inspection = config.inspect("executable.path"); if (!inspection) { return undefined; } if (vscode.workspace.isTrusted) { // Trusted workspace: return the fully resolved value (workspace overrides allowed) return config.get("executable.path") || undefined; } // Untrusted workspace: only honor user/machine-level (global) settings, // ignore workspaceValue and workspaceFolderValue return inspection.globalValue ?? inspection.defaultValue ?? undefined; } /** * Canonicalizes a path by resolving symlinks/junctions via fs.realpath. * Falls back to the original path if the file doesn't exist yet. */ async function canonicalizePath(filePath: string): Promise { try { return await fse.realpath(filePath); } catch { return filePath; } } /** * Validates whether a configured Maven executable path is safe to use. * Rejects relative paths and paths that resolve inside a workspace folder, * as these could be attacker-controlled binaries placed in a malicious workspace. * Prompts the user for confirmation and caches their decision for the session. * * @returns "safe" if the path is allowed, "use-default" if the user chose to fall back, * "abort" if the user dismissed the dialog or chose to open settings. */ export async function checkExecutablePathSafety(executablePath: string): Promise<"safe" | "use-default" | "abort"> { // Relative paths are inherently suspicious — a real Maven installation // always has an absolute path (e.g. /usr/local/bin/mvn, C:\maven\bin\mvn.cmd) if (!path.isAbsolute(executablePath)) { if (confirmedExecutablePaths.has(executablePath)) { return "safe"; } const result = await promptForExecutableConfirmation(executablePath); if (result === "safe") { confirmedExecutablePaths.add(executablePath); } return result; } // Canonicalize the path to resolve symlinks/junctions before checking const canonicalPath: string = await canonicalizePath(executablePath); // Check the cache using the canonical path if (confirmedExecutablePaths.has(canonicalPath)) { return "safe"; } // Absolute paths inside a workspace folder are also suspicious if (vscode.workspace.getWorkspaceFolder(vscode.Uri.file(canonicalPath)) !== undefined) { const result = await promptForExecutableConfirmation(executablePath); if (result === "safe") { confirmedExecutablePaths.add(canonicalPath); } return result; } return "safe"; } async function promptForExecutableConfirmation(executablePath: string): Promise<"safe" | "use-default" | "abort"> { const USE_IT = "Allow"; const USE_DEFAULT = "Use Default Maven"; const OPEN_SETTINGS = "Open Settings"; const choice: string | undefined = await vscode.window.showWarningMessage( `The configured Maven executable path "${executablePath}" points to a location inside the workspace or is a relative path. Using it could be a security risk. Do you want to proceed?`, { modal: true }, USE_IT, USE_DEFAULT, OPEN_SETTINGS ); if (choice === USE_IT) { return "safe"; } if (choice === USE_DEFAULT) { return "use-default"; } if (choice === OPEN_SETTINGS) { await vscode.commands.executeCommand("workbench.action.openSettings", "maven.executable.path"); } // Esc or Open Settings → abort the current operation return "abort"; } export function getEmbeddedMavenWrapper(): string { const mvnw: string = isWin() ? "mvnw.cmd" : "mvnw"; return getPathToExtensionRoot("resources", "maven-wrapper", mvnw); } async function getLocalMavenWrapper(projectFolder: string): Promise { const mvnw: string = isWin() ? "mvnw.cmd" : "mvnw"; // walk up parent folders let current: string = projectFolder; while (path.basename(current)) { const potentialMvnwPath: string = path.join(current, mvnw); if (await fse.pathExists(potentialMvnwPath)) { return potentialMvnwPath; } current = path.dirname(current); const folderUri = vscode.Uri.file(current); if (vscode.workspace.getWorkspaceFolder(folderUri) === undefined) { // traverse up to workspace root as trust granted return undefined; } } return undefined; } async function defaultMavenExecutable(): Promise { return new Promise((resolve) => { which("mvn", (_err, filepath) => { if (filepath) { resolve("mvn"); } else { mavenOutputChannel.appendLine("Maven executable not found in PATH."); resolve(undefined); } }); }); } function wrappedWithQuotes(mvn: string): string { if (mvn === "mvn") { return mvn; } else { return `"${mvn}"`; } } async function readFileIfExists(filepath: string): Promise { if (await fse.pathExists(filepath)) { return (await fse.readFile(filepath)).toString(); } return undefined; } function getTempFolder(identifier: string): string { const outputPath: string | undefined = getPathToWorkspaceStorage(md5(identifier)); return outputPath ? outputPath : getPathToTempFolder(md5(identifier)); } export async function promptToSettingMavenExecutable(): Promise { const SETTING_MAVEN_EXECUTABLE_PATH = "maven.executable.path"; const MESSAGE = `Maven executable not found in PATH. Please specify "${SETTING_MAVEN_EXECUTABLE_PATH}".`; const BUTTON_GOTO_SETTINGS = "Open Settings"; const BUTTON_BROWSE_FOR_MAVEN = "Browse..."; const choice: string | undefined = await vscode.window.showInformationMessage(MESSAGE, BUTTON_GOTO_SETTINGS, BUTTON_BROWSE_FOR_MAVEN); switch (choice) { case BUTTON_GOTO_SETTINGS:{ await vscode.commands.executeCommand("workbench.action.openSettings", SETTING_MAVEN_EXECUTABLE_PATH); break; } case BUTTON_BROWSE_FOR_MAVEN: { const mvnPath = await browseForMavenBinary(); if (mvnPath) { Settings.setMavenExecutablePath(mvnPath); await vscode.window.showInformationMessage(`Successfully set "${SETTING_MAVEN_EXECUTABLE_PATH}" to: ${mvnPath}`); } break; } default: break; } } async function browseForMavenBinary(): Promise { const mvnFilename: string = isWin() ? "mvn.cmd" : "mvn"; const filters = isWin() ? { Executable: ["cmd"] } : undefined; const selectedUris: vscode.Uri[] | undefined = await vscode.window.showOpenDialog({ openLabel: `Select ${mvnFilename}`, canSelectMany: false, filters }); if (selectedUris === undefined) { return undefined; } const mvnPath: string | undefined = selectedUris.length > 0 && selectedUris[0] !== undefined ? selectedUris[0].fsPath : undefined; if (!mvnPath || !mvnPath.endsWith(mvnFilename)) { await vscode.window.showErrorMessage(`Maven executable file must match with name: ${mvnFilename}`); return undefined; } return mvnPath; } function isWin(): boolean { return process.platform.startsWith("win"); } ================================================ FILE: src/utils/requestUtils.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as http from "http"; import * as https from "https"; import * as _ from "lodash"; import * as path from "path"; import * as url from "url"; const URL_MAVEN_SEARCH_API = "https://search.maven.org/solrsearch/select"; const URL_MAVEN_CENTRAL_REPO = "https://repo1.maven.org/maven2/"; const MAVEN_METADATA_FILENAME = "maven-metadata.xml"; export interface IArtifactMetadata { id: string; g: string; a: string; latestVersion: string; versionCount: number; p: string; } export interface IVersionMetadata { id: string; g: string; a: string; v: string; timestamp: number; } export async function getArtifacts(keywords: string[]): Promise { // Remove short keywords const validKeywords: string[] = keywords.filter(keyword => keyword.length >= 3); if (validKeywords.length === 0) { return []; } const params = { q: validKeywords.join(" ").trim(), rows: 50, wt: "json" }; const raw: string = await httpsGet(`${URL_MAVEN_SEARCH_API}?${toQueryString(params)}`); try { return _.get(JSON.parse(raw), "response.docs", []); } catch (error) { console.error(error); return []; } } export async function getVersions(gid: string, aid: string): Promise { const params = { q: `g:"${gid}" AND a:"${aid}"`, core: "gav", rows: 50, wt: "json" }; const raw: string = await httpsGet(`${URL_MAVEN_SEARCH_API}?${toQueryString(params)}`); try { return _.get(JSON.parse(raw), "response.docs", []); } catch (error) { console.error(error); return []; } } export async function getLatestVersion(gid: string, aid: string): Promise { try { const params = { q: `g:"${gid}" AND a:"${aid}"`, rows: 1, wt: "json" }; const raw: string = await httpsGet(`${URL_MAVEN_SEARCH_API}?${toQueryString(params)}`); return _.get(JSON.parse(raw), "response.docs[0].latestVersion"); } catch (error) { console.error(error); return undefined; } } async function httpsGet(urlString: string): Promise { return new Promise((resolve, reject) => { let result = ""; // eslint-disable-next-line @typescript-eslint/no-explicit-any const options: any = url.parse(urlString); options.headers = { 'User-Agent': 'vscode-maven/0.1' } https.get(options, (res: http.IncomingMessage) => { res.on("data", chunk => { result = result.concat(chunk.toString()); }); res.on("end", () => { resolve(result); }); res.on("error", err => { reject(err); }); }); }); } function toQueryString(params: { [key: string]: number | string }): string { return Object.keys(params).map(k => `${k}=${encodeURIComponent(params[k].toString())}`).join("&"); } export async function fetchPluginMetadataXml(gid: string): Promise { const metadataUrl = URL_MAVEN_CENTRAL_REPO + path.posix.join(...gid.split("."), MAVEN_METADATA_FILENAME); return await httpsGet(metadataUrl); } ================================================ FILE: src/utils/uiUtils.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import * as fs from "fs-extra"; import * as path from "path"; import * as vscode from "vscode"; import { OpenDialogOptions, Uri, window } from "vscode"; import { instrumentOperation } from "vscode-extension-telemetry-wrapper"; import { MavenProject } from "../explorer/model/MavenProject"; import { mavenOutputChannel } from "../mavenOutputChannel"; import { MavenProjectManager } from "../project/MavenProjectManager"; import { generalErrorHandler } from "./errorUtils"; const TROUBLESHOOTING_LINK = "https://github.com/Microsoft/vscode-maven/blob/master/Troubleshooting.md"; // file chooser dialog export async function openDialogForFolder(customOptions: OpenDialogOptions): Promise { const options: OpenDialogOptions = { canSelectFiles: false, canSelectFolders: true, canSelectMany: false }; const result: Uri[] | undefined = await window.showOpenDialog(Object.assign(options, customOptions)); if (result && result.length > 0) { return Promise.resolve(result[0]); } else { return Promise.resolve(undefined); } } export async function openDialogForFile(customOptions?: OpenDialogOptions): Promise { const options: OpenDialogOptions = { canSelectFiles: true, canSelectFolders: false, canSelectMany: false }; const result: Uri[] | undefined = await window.showOpenDialog(Object.assign(options, customOptions)); if (result && result.length > 0) { return Promise.resolve(result[0]); } else { return Promise.resolve(undefined); } } // editor export async function openFileIfExists(filepath: string): Promise { if (await fs.pathExists(filepath)) { window.showTextDocument(Uri.file(filepath)); } } // Troubleshooting export async function showTroubleshootingDialog(errorMessage: string): Promise { const OPTION_SHOW_OUTPUT = "Show Output"; const OPTION_LEARN_MORE = "Learn More"; const choiceForDetails: string | undefined = await window.showErrorMessage(errorMessage, OPTION_SHOW_OUTPUT, OPTION_LEARN_MORE); if (choiceForDetails === OPTION_LEARN_MORE) { // open FAQs vscode.commands.executeCommand("vscode.open", vscode.Uri.parse(TROUBLESHOOTING_LINK)); } else if (choiceForDetails === OPTION_SHOW_OUTPUT) { mavenOutputChannel.show(); } } export async function selectProjectIfNecessary(): Promise< MavenProject | undefined> { if (MavenProjectManager.projects === undefined || MavenProjectManager.projects.length === 0) { return undefined; } if (MavenProjectManager.projects.length === 1) { return MavenProjectManager.projects[0]; } return await window.showQuickPick( MavenProjectManager.projects.map(item => ({ value: item, label: `$(primitive-dot) ${item.name}`, description: undefined, detail: item.pomPath })), { placeHolder: "Select a Maven project ...", ignoreFocusOut: true } ).then(item => item ? item.value : undefined); } export function registerCommand(context: vscode.ExtensionContext, commandName: string, func: (...args: unknown[]) => unknown, withOperationIdAhead?: boolean): void { const callbackWithTroubleshooting: (...args: unknown[]) => unknown = instrumentOperation(commandName, async (_operationId: string, ...args: unknown[]) => { try { return withOperationIdAhead ? await func(_operationId, ...args) : await func(...args); } catch (error) { await generalErrorHandler(commandName, error); } }); context.subscriptions.push(vscode.commands.registerCommand(commandName, callbackWithTroubleshooting)); } export function registerCommandRequiringTrust(context: vscode.ExtensionContext, commandName: string, func: (...args: unknown[]) => unknown, withOperationIdAhead?: boolean): void { const instrumentedFunc = async (...args: unknown[]) => { if (vscode.workspace.isTrusted) { await func(...args); } else { await promptToManageWorkspaceTrust(); } }; registerCommand(context, commandName, instrumentedFunc, withOperationIdAhead); } async function promptToManageWorkspaceTrust(): Promise { const COMMAND_MANAGE_TRUST = "workbench.trust.manage"; const OPTION_MANAGE_TRUST = "Manage Workspace Trust"; const information = "For security concern, this command requires your trust on current workspace before it can be executed."; const choiceForDetails: string | undefined = await window.showInformationMessage(information, OPTION_MANAGE_TRUST); if (choiceForDetails === OPTION_MANAGE_TRUST) { vscode.commands.executeCommand(COMMAND_MANAGE_TRUST); } } export function effectivePomContentUri(pomPath: string): vscode.Uri { const displayName = "EffectivePOM.xml"; const contentType = "effective-pom"; return vscode.Uri.file(path.join(pomPath, displayName)).with({ scheme: "vscode-maven", authority: contentType, query: pomPath }); } export function dependenciesContentUri(pomPath: string): vscode.Uri { const displayName = "Dependencies"; const contentType = "dependencies"; return vscode.Uri.file(path.join(pomPath, displayName)).with({ scheme: "vscode-maven", authority: contentType, query: pomPath }); } ================================================ FILE: test/projects/.gitignore ================================================ **/target ================================================ FILE: test/projects/lifecycle-compile/pom.xml ================================================ 4.0.0 com.microsoft.vscode.maven.test lifecycle-compile 1.0.0-SNAPSHOT jar 8 UTF-8 ================================================ FILE: test/projects/lifecycle-compile/src/main/java/com/microsoft/vscode/maven/test/App.java ================================================ package com.microsoft.vscode.maven.test; public class App { public static String message() { return "lifecycle-compile"; } } ================================================ FILE: test/projects/maven/.vscode/launch.json ================================================ { "version": "0.2.0", "configurations": [ { "type": "java", "name": "Debug (Launch)", "request": "launch", "mainClass": "com.mycompany.app.App", "args": "", "sourcePaths": [ "${workspaceRoot}/src/main/java" ] }, { "type": "java", "name": "Debug (Attach)", "request": "attach", "hostName": "localhost", "port": 0, "timeout": 30000, "sourcePaths": [ "${workspaceRoot}" ] } ] } ================================================ FILE: test/projects/maven/.vscode/settings.json ================================================ { "java.server.launchMode": "Standard", "maven.terminal.favorites": [ { "command": "help:all-profiles", "debug": false } ] } ================================================ FILE: test/projects/maven/.vscode/tasks.json ================================================ { "version": "2.0.0", "tasks": [ { "type": "java (buildArtifact)", "label": "java: exportjar:maven", "mainClass": "com.mycompany.app.App", "targetPath": "${workspaceFolder}/${workspaceFolderBasename}.jar", "elements": [ "${compileOutput}", "${dependencies}" ], "problemMatcher": [] } ] } ================================================ FILE: test/projects/maven/pom.xml ================================================ 4.0.0 com.mycompany.app my-app jar 1.0-SNAPSHOT my-app http://maven.apache.org junit junit 4.13.1 test ================================================ FILE: test/projects/maven/src/main/java/com/mycompany/app/App.java ================================================ package com.mycompany.app; /** * Hello world! * */ public class App { public static void main( String[] args ) { System.out.println( "Hello World!" ); } } ================================================ FILE: test/projects/maven/src/main/java/com/mycompany/app/AppToDelete.java ================================================ package com.mycompany.app; public class AppToDelete { } ================================================ FILE: test/projects/maven/src/main/java/com/mycompany/app/AppToRename.java ================================================ package com.mycompany.app; public class AppToRename { } ================================================ FILE: test/projects/maven/src/main/java/com/mycompany/app1/App1.java ================================================ package com.mycompany.app1; public class App1 { } ================================================ FILE: test/projects/maven/src/test/java/com/mycompany/app/AppTest.java ================================================ package com.mycompany.app; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; /** * Unit test for simple App. */ public class AppTest extends TestCase { /** * Create the test case * * @param testName name of the test case */ public AppTest( String testName ) { super( testName ); } /** * @return the suite of tests being tested */ public static Test suite() { return new TestSuite( AppTest.class ); } /** * Rigourous Test :-) */ public void testApp() { assertTrue( true ); } } ================================================ FILE: test/projects/multi-module/.vscode/settings.json ================================================ { "java.configuration.updateBuildConfiguration": "interactive", "maven.terminal.favorites": [ { "command": "clean install", "debug": false }, { "command": "help:all-profiles", "debug": false } ] } ================================================ FILE: test/projects/multi-module/module1/pom.xml ================================================ 4.0.0 multi-module-parent com.mycompany.app 1.0-SNAPSHOT com.mycompany.app module1 1.0-SNAPSHOT ${base.name} :: Module 1 UTF-8 1.7 1.7 junit junit 4.13.1 test ================================================ FILE: test/projects/multi-module/module1/src/main/java/com/mycompany/app/App.java ================================================ package com.mycompany.app; /** * Hello world! * */ public class App { public static void main( String[] args ) { System.out.println( "Hello World!" ); } } ================================================ FILE: test/projects/multi-module/module1/src/test/java/com/mycompany/app/AppTest.java ================================================ package com.mycompany.app; import static org.junit.Assert.assertTrue; import org.junit.Test; /** * Unit test for simple App. */ public class AppTest { /** * Rigorous Test :-) */ @Test public void shouldAnswerWithTrue() { assertTrue( true ); } } ================================================ FILE: test/projects/multi-module/module2/pom.xml ================================================ 4.0.0 multi-module-parent com.mycompany.app 1.0-SNAPSHOT com.mycompany.app module2 1.0-SNAPSHOT ${base.name} :: Module 2 UTF-8 1.7 1.7 junit junit test junit junit 4.13.1 p2 true ================================================ FILE: test/projects/multi-module/module2/src/main/java/com/mycompany/app/App.java ================================================ package com.mycompany.app; /** * Hello world! * */ public class App { public static void main( String[] args ) { System.out.println( "Hello World!" ); } } ================================================ FILE: test/projects/multi-module/module2/src/test/java/com/mycompany/app/AppTest.java ================================================ package com.mycompany.app; import static org.junit.Assert.assertTrue; import org.junit.Test; /** * Unit test for simple App. */ public class AppTest { /** * Rigorous Test :-) */ @Test public void shouldAnswerWithTrue() { assertTrue( true ); } } ================================================ FILE: test/projects/multi-module/pom.xml ================================================ 4.0.0 com.mycompany.app multi-module-parent pom 1.0-SNAPSHOT ${base.name} :: Parent module1 module2 Test Multi-Module maven-clean-plugin 3.1.0 maven-resources-plugin 3.0.2 maven-compiler-plugin 3.8.0 maven-surefire-plugin 2.22.1 maven-jar-plugin 3.0.2 maven-install-plugin 2.5.2 maven-deploy-plugin 2.8.2 maven-site-plugin 3.7.1 maven-project-info-reports-plugin 3.0.0 p-parent 11 ================================================ FILE: test/projects/multiple/multiple-project.code-workspace ================================================ { "folders": [ { "path": "..\\simple" }, { "path": "..\\maven" }, { "path": "..\\gradle" } ], "settings": {} } ================================================ FILE: test/unit/archetypeCommand.test.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { strict as assert } from "assert"; import { buildArchetypeGenerateArgs, getMavenExecutableOptionArgs, splitMavenExecutableOptions } from "../../src/archetype/archetypeCommand"; describe("buildArchetypeGenerateArgs", () => { it("builds Maven archetype properties as discrete arguments without embedded quotes", () => { assert.deepEqual( buildArchetypeGenerateArgs({ archetypeArtifactId: "maven-archetype-quickstart", archetypeGroupId: "org.apache.maven.archetypes", archetypeVersion: "1.4", groupId: "com.example", artifactId: "demo" }), [ "org.apache.maven.plugins:maven-archetype-plugin:3.1.2:generate", "-DarchetypeArtifactId=maven-archetype-quickstart", "-DarchetypeGroupId=org.apache.maven.archetypes", "-DarchetypeVersion=1.4", "-DgroupId=com.example", "-DartifactId=demo" ] ); }); it("adds outputDirectory as a discrete argument for embedded Maven fallback", () => { assert.deepEqual( buildArchetypeGenerateArgs({ archetypeArtifactId: "maven-archetype-quickstart", archetypeGroupId: "org.apache.maven.archetypes", archetypeVersion: "1.4", groupId: "com.example", artifactId: "demo", outputDirectory: "C:\\Users\\demo user\\projects" }).slice(-1), ["-DoutputDirectory=C:\\Users\\demo user\\projects"] ); }); }); describe("splitMavenExecutableOptions", () => { it("splits empty options into no arguments", () => { assert.deepEqual(splitMavenExecutableOptions(undefined), []); assert.deepEqual(splitMavenExecutableOptions(""), []); }); it("preserves quoted option values containing whitespace", () => { assert.deepEqual( splitMavenExecutableOptions("-X -DskipTests -Dmessage=\"hello world\" '-Dname=demo app'"), ["-X", "-DskipTests", "-Dmessage=hello world", "-Dname=demo app"] ); }); it("preserves backslashes in Windows and UNC paths", () => { assert.deepEqual( splitMavenExecutableOptions("-Dmaven.repo.local=C:\\Users\\demo\\.m2\\repository -Dshare=\\\\server\\share"), ["-Dmaven.repo.local=C:\\Users\\demo\\.m2\\repository", "-Dshare=\\\\server\\share"] ); }); it("preserves backslashes in quoted values", () => { assert.deepEqual( splitMavenExecutableOptions("\"-Dregex=\\\\d+\""), ["-Dregex=\\\\d+"] ); }); }); describe("getMavenExecutableOptionArgs", () => { it("preserves array options as argv entries", () => { assert.deepEqual( getMavenExecutableOptionArgs(["-Dmessage=hello world", "-Dshare=\\\\server\\share"]), ["-Dmessage=hello world", "-Dshare=\\\\server\\share"] ); }); it("splits string options for backward compatibility", () => { assert.deepEqual( getMavenExecutableOptionArgs("-Dmessage=\"hello world\""), ["-Dmessage=hello world"] ); }); }); ================================================ FILE: test/unit/lifecyclePhaseExecutionArgs.test.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { strict as assert } from "assert"; import { normalizeLifecyclePhaseExecutionArgs, resolveLifecyclePhaseExecutionOptions } from "../../src/handlers/lifecycle/lifecyclePhaseExecutionArgs"; describe("normalizeLifecyclePhaseExecutionArgs", () => { it("accepts a stable command payload", () => { assert.deepEqual( normalizeLifecyclePhaseExecutionArgs({ phase: "compile", pomPath: "C:\\workspace\\pom.xml" }), { phase: "compile", pomPath: "C:\\workspace\\pom.xml" } ); }); it("accepts a Maven Explorer lifecycle tree element shape", () => { assert.deepEqual( normalizeLifecyclePhaseExecutionArgs({ phase: "test", project: { pomPath: "C:\\workspace\\pom.xml" } }), { phase: "test", pomPath: "C:\\workspace\\pom.xml" } ); }); it("rejects invalid payloads", () => { assert.equal(normalizeLifecyclePhaseExecutionArgs(undefined), undefined); assert.equal(normalizeLifecyclePhaseExecutionArgs({ phase: "compile" }), undefined); assert.equal(normalizeLifecyclePhaseExecutionArgs({ pomPath: "C:\\workspace\\pom.xml" }), undefined); assert.equal(normalizeLifecyclePhaseExecutionArgs({ phase: "compile", project: {} }), undefined); }); it("resolves executable Maven options for valid lifecycle phases", () => { assert.deepEqual( resolveLifecyclePhaseExecutionOptions({ phase: "compile", pomPath: "C:\\workspace\\pom.xml" }), { command: "compile", pomfile: "C:\\workspace\\pom.xml" } ); }); it("rejects unsupported lifecycle phases", () => { assert.throws( () => resolveLifecyclePhaseExecutionOptions({ phase: "dependency:tree", pomPath: "C:\\workspace\\pom.xml" }), /Unsupported Maven lifecycle phase/ ); }); it("rejects invalid execution arguments", () => { assert.throws( () => resolveLifecyclePhaseExecutionOptions({ phase: "compile" }), /Invalid Maven lifecycle phase command arguments/ ); }); }); ================================================ FILE: test/unit/mavenUtils.test.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. /** * Unit tests for the executable-path safety checks introduced by PR #1152 * (microsoft/vscode-maven). Uses proxyquire to stub out the heavy transitive * dependencies of `src/utils/mavenUtils.ts` (vscode API, Maven output channel, * terminal, project manager, settings, extension context) so we can exercise * `checkExecutablePathSafety` in isolation. */ import { strict as assert } from "assert"; import { vscodeMock, showWarningMessageStub, getWorkspaceFolderStub, resetStubs } from "./vscode-mock"; // proxyquire's default export is a callable function with helper methods — // the default namespace import shape doesn't match, so require() it directly. // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires const proxyquire: { // eslint-disable-next-line @typescript-eslint/no-explicit-any (request: string, stubs: Record): any; // eslint-disable-next-line @typescript-eslint/no-explicit-any noPreserveCache: () => (request: string, stubs: Record) => any; } = require("proxyquire"); type SafetyResult = "safe" | "use-default" | "abort"; type MavenUtilsModule = { checkExecutablePathSafety: (p: string) => Promise; }; // Load `mavenUtils` with all heavy imports stubbed. `noCallThru` keeps // proxyquire from ever touching the real modules (critical for `vscode` // which doesn't resolve at all outside the extension host). `@noCallThru` // is applied per-stub so the real modules are never hit. function loadMavenUtils(): MavenUtilsModule { // proxyquire caches per (filename, stubs) — reset the whole cache so // each test gets a fresh module-scoped `confirmedExecutablePaths` Set. const pq = proxyquire.noPreserveCache(); // eslint-disable-next-line @typescript-eslint/no-explicit-any const stub = (obj: Record): Record => ({ ...obj, "@noCallThru": true }); return pq("../../src/utils/mavenUtils", { "vscode": stub(vscodeMock), "../mavenOutputChannel": stub({ mavenOutputChannel: { appendLine: () => undefined, show: () => undefined } }), "../mavenTerminal": stub({ mavenTerminal: { runInTerminal: async () => undefined } }), "../project/MavenProjectManager": stub({ MavenProjectManager: { get: () => undefined, projects: [] } }), "../Settings": stub({ Settings: { Executable: { path: () => undefined, options: () => "" } } }), "./contextUtils": stub({ getPathToExtensionRoot: () => "/tmp/ext", getPathToTempFolder: () => "/tmp", getPathToWorkspaceStorage: () => "/tmp/ws" }), "../mavenProblemMatcher": stub({ mavenProblemMatcher: { dispose: () => undefined } }), "./errorUtils": stub({ MavenNotFoundError: class MavenNotFoundError extends Error {} }), "./historyUtils": stub({ updateLRUCommands: async () => undefined }) }) as MavenUtilsModule; } describe("checkExecutablePathSafety — PR #1152", () => { beforeEach(() => { resetStubs(); }); describe("relative paths (always suspicious)", () => { it("returns 'safe' and caches when user clicks Allow", async () => { showWarningMessageStub.impl = async () => "Allow"; const { checkExecutablePathSafety } = loadMavenUtils(); const first = await checkExecutablePathSafety("./fake-mvn"); assert.equal(first, "safe"); // Switch the stub so the test fails loudly if a second prompt is shown. let prompted = false; showWarningMessageStub.impl = async () => { prompted = true; return "Allow"; }; const second = await checkExecutablePathSafety("./fake-mvn"); assert.equal(second, "safe"); assert.equal(prompted, false, "Allow should cache the path so the second call does not prompt"); }); it("returns 'use-default' and does NOT cache when user clicks Use Default Maven", async () => { showWarningMessageStub.impl = async () => "Use Default Maven"; const { checkExecutablePathSafety } = loadMavenUtils(); const first = await checkExecutablePathSafety("./fake-mvn"); assert.equal(first, "use-default"); let promptCount = 0; showWarningMessageStub.impl = async () => { promptCount += 1; return "Use Default Maven"; }; const second = await checkExecutablePathSafety("./fake-mvn"); assert.equal(second, "use-default"); assert.equal(promptCount, 1, "Use Default must NOT be cached — the second call must re-prompt"); }); it("returns 'abort' when user dismisses the dialog (Esc)", async () => { showWarningMessageStub.impl = async () => undefined; const { checkExecutablePathSafety } = loadMavenUtils(); const result = await checkExecutablePathSafety("./fake-mvn"); assert.equal(result, "abort"); }); it("returns 'abort' and does NOT cache when user clicks Open Settings", async () => { showWarningMessageStub.impl = async () => "Open Settings"; const { checkExecutablePathSafety } = loadMavenUtils(); const first = await checkExecutablePathSafety("./fake-mvn"); assert.equal(first, "abort"); let promptCount = 0; showWarningMessageStub.impl = async () => { promptCount += 1; return "Open Settings"; }; await checkExecutablePathSafety("./fake-mvn"); assert.equal(promptCount, 1, "Open Settings must not cache the path"); }); }); describe("absolute paths outside the workspace", () => { it("returns 'safe' without prompting", async () => { getWorkspaceFolderStub.impl = () => undefined; // not inside any workspace let prompted = false; showWarningMessageStub.impl = async () => { prompted = true; return "Allow"; }; const { checkExecutablePathSafety } = loadMavenUtils(); // Use a system path that realpath can resolve to itself (or a missing // path — canonicalizePath falls back to the original on error). const abs = process.platform === "win32" ? "C:\\Windows\\System32\\cmd.exe" : "/usr/bin/env"; const result = await checkExecutablePathSafety(abs); assert.equal(result, "safe"); assert.equal(prompted, false, "Absolute paths outside any workspace must not prompt"); }); }); describe("absolute paths inside the workspace", () => { it("prompts and returns 'safe' when user clicks Allow; caches by canonical path", async () => { // Pretend every absolute path resolves inside a workspace folder. getWorkspaceFolderStub.impl = () => ({ uri: { fsPath: "/ws" }, name: "ws", index: 0 }); let promptCount = 0; showWarningMessageStub.impl = async () => { promptCount += 1; return "Allow"; }; const { checkExecutablePathSafety } = loadMavenUtils(); const abs = process.platform === "win32" ? "C:\\Windows\\System32\\cmd.exe" : "/usr/bin/env"; const first = await checkExecutablePathSafety(abs); assert.equal(first, "safe"); assert.equal(promptCount, 1); const second = await checkExecutablePathSafety(abs); assert.equal(second, "safe"); assert.equal(promptCount, 1, "Allow should cache the canonical path"); }); it("returns 'use-default' and does NOT cache when user clicks Use Default Maven", async () => { getWorkspaceFolderStub.impl = () => ({ uri: { fsPath: "/ws" }, name: "ws", index: 0 }); let promptCount = 0; showWarningMessageStub.impl = async () => { promptCount += 1; return "Use Default Maven"; }; const { checkExecutablePathSafety } = loadMavenUtils(); const abs = process.platform === "win32" ? "C:\\Windows\\System32\\cmd.exe" : "/usr/bin/env"; await checkExecutablePathSafety(abs); await checkExecutablePathSafety(abs); assert.equal(promptCount, 2, "Use Default must not be cached"); }); }); }); ================================================ FILE: test/unit/vscode-mock.ts ================================================ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. /** * Minimal `vscode` module mock used by unit tests. Exposes only the surface * area consumed by the code under test (mavenUtils#checkExecutablePathSafety * and #promptForExecutableConfirmation). Individual tests override the stub * behaviours by reassigning the exported helpers before requiring the module * under test. */ // eslint-disable-next-line @typescript-eslint/no-explicit-any type AnyFn = (...args: any[]) => any; export const showWarningMessageStub: { impl: AnyFn } = { impl: async () => undefined }; export const getWorkspaceFolderStub: { impl: AnyFn } = { impl: () => undefined }; export const executeCommandStub: { impl: AnyFn } = { impl: async () => undefined }; export function resetStubs(): void { showWarningMessageStub.impl = async () => undefined; getWorkspaceFolderStub.impl = () => undefined; executeCommandStub.impl = async () => undefined; } // eslint-disable-next-line @typescript-eslint/no-explicit-any export const vscodeMock: Record = { window: { // eslint-disable-next-line @typescript-eslint/no-explicit-any showWarningMessage: (...args: any[]) => showWarningMessageStub.impl(...args) }, workspace: { // eslint-disable-next-line @typescript-eslint/no-explicit-any getWorkspaceFolder: (...args: any[]) => getWorkspaceFolderStub.impl(...args) }, commands: { // eslint-disable-next-line @typescript-eslint/no-explicit-any executeCommand: (...args: any[]) => executeCommandStub.impl(...args) }, Uri: { file: (p: string) => ({ fsPath: p, scheme: "file", toString: () => `file://${p}` }) } }; ================================================ FILE: test-plans/maven-archetype-create-project.yaml ================================================ # Test Plan: Maven Archetype Create Project # # Covers the archetype project creation path used by issue #1088. The test is # currently Windows-only because it depends on autotest CLI capabilities that # have not been published to the macOS/Linux CI jobs yet. # # Usage: npx autotest run test-plans/maven-archetype-create-project.yaml name: "vscode-maven — Archetype Create Project" description: | Drives the Maven quickstart archetype creation wizard through archetype, version, groupId, artifactId, and destination folder input, then verifies that Maven generates the project in the selected folder. platforms: - win32 setup: extension: "vscjava.vscode-maven" extensions: - "redhat.java" extensionPath: "../../vscode-maven" workspace: "../test/projects/lifecycle-compile" vscodeVersion: "stable" timeout: 180 steps: - id: "wait-java-ls" action: "waitForLanguageServer" # No `verify:` — `waitForLanguageServer` is itself an assertion # (times out if Java LSP never becomes ready). The LSP may cycle # back to "Building" for re-indexing between the action returning # and the screenshot, which would confuse the LLM judge. timeout: 120 - id: "invoke-create-project" action: "run command Maven: New Project..." # No `verify:` — invoking the command triggers an asynchronous load # of the archetype catalog before the quick-pick appears. The # AFTER screenshot may be captured before the quick-pick has # painted, leading to flaky LLM downgrades. The next step's # `typeInQuickInput` deterministically asserts the quick-pick is # present (it would fail if it weren't). timeout: 30 - id: "select-quickstart-archetype" action: "typeInQuickInput maven-archetype-quickstart" verify: "Quickstart archetype is filtered" timeout: 10 - id: "confirm-quickstart-archetype" action: "confirmQuickInput" # No `verify:` — same pattern as `confirm-group-id` / # `confirm-artifact-id` / `confirm-destination-folder`. Confirming # advances to the asynchronously-loaded version quick-pick; the # next `select-quickstart-version` step asserts it. timeout: 10 - id: "select-quickstart-version" action: "typeInQuickInput 1.4" verify: "Quickstart archetype version 1.4 is filtered" timeout: 10 - id: "confirm-quickstart-version" action: "confirmQuickInput" # No `verify:` — see note on `confirm-quickstart-archetype`. The # next `enter-group-id` step asserts the groupId quick-input. timeout: 10 - id: "enter-group-id" action: "typeInQuickInput com.microsoft.vscode.maven.autotest" verify: "Group ID is entered" timeout: 10 - id: "confirm-group-id" action: "confirmQuickInput" - id: "enter-artifact-id" action: "typeInQuickInput autotest-archetype-demo" verify: "Artifact ID is entered" timeout: 10 - id: "confirm-artifact-id" action: "confirmQuickInput" - id: "enter-destination-folder" action: "typeInQuickInput ${workspaceParent}" verify: "Workspace parent folder is entered as the destination folder" verifyQuickInput: noError: true timeout: 10 - id: "confirm-destination-folder" action: "confirmQuickInput" # No `verify:` — mirrors `confirm-group-id` / `confirm-artifact-id` above. # Pressing Enter closes the quick-pick; the archetype wizard then opens a # terminal asynchronously for the remaining prompts. The immediately-next # `wait-for-version-prompt` step is what asserts the terminal actually # opened and reached the version prompt. timeout: 10 - id: "wait-for-version-prompt" action: "wait 30 seconds" verify: "Maven archetype task terminal is focused and prompts for the default version" - id: "accept-default-version" action: "pressTerminalKey Enter" verify: "Default Maven project version is accepted" - id: "accept-default-package" action: "pressTerminalKey Enter" verify: "Default Java package is accepted" - id: "confirm-archetype-generation" action: "pressTerminalKey Enter" # No freeform `verify:`. Under maven-archetype-plugin 3.1.2 with # all required params supplied via -D and `package` auto-derived # from groupId, Maven only prompts twice — for `version` and for # `Confirm properties configuration: Y:`. Those are answered by # `accept-default-version` and (despite its name) `accept-default- # package`. By the time this step runs, Maven has already # generated the project and the terminal is at "Press any key to # close". This Enter just closes the terminal — there is no # stable visual state to verify and the terminal scrollback is # disposed afterwards. Silent-pass for the whole generation chain # is guarded deterministically by `verify-generated-pom` below # (verifyFile checks both path and content); any earlier # Enter-not-delivered failure would leave Maven stuck at its # prompt and pom.xml uncreated, which that step catches. - id: "wait-for-generation" action: "wait 120 seconds" # Passive wait — kept as a safety buffer in case a slower runner # has not yet finished generation by the time we reach this step # (the terminal-close Enter above is best-effort and timing- # dependent). No verifyTerminal here because the terminal panel # is typically disposed by Maven's task auto-close after the # `Press any key to close` Enter, so getTerminalText() would # return empty. The next step's `verifyFile` is the deterministic # source of truth. - id: "verify-generated-pom" action: "wait 1 second" verifyFile: path: "${workspaceParent}/autotest-archetype-demo/pom.xml" contains: "autotest-archetype-demo" ================================================ FILE: test-plans/maven-executable-safety-branches.yaml ================================================ # Test Plan: vscode-maven — Executable Path Safety Branches # # Covers the two non-abort branches of PR #1152's promptForExecutableConfirmation: # # 1. "Use Default Maven" → getMaven() falls through to defaultMavenExecutable() # and the Maven output channel logs # `Falling back to system Maven`. # "use-default" is NOT cached, so a second invocation re-prompts. # # 2. "Allow" → path is recorded in confirmedExecutablePaths for # the session. A subsequent invocation with the # same path must NOT re-prompt. # # Prerequisites: # - vscode-maven built (dist/extension.js present) # - JDK installed and system `mvn` on PATH (so the "Use Default" fallback # doesn't error out before our log assertion runs) # # Usage: npx autotest run test-plans/maven-executable-safety-branches.yaml name: "vscode-maven — Executable Path Safety Branches" description: | Trusted workspace + relative maven.executable.path: click "Use Default Maven" on the first prompt and assert the fall-back log line, then click "Allow" on the second prompt and assert the decision is cached (no dialog on the third invocation). setup: extension: "vscjava.vscode-maven" extensions: - "redhat.java" extensionPath: "../../vscode-maven" workspace: "../test/projects/maven" vscodeVersion: "stable" # Relative path → not absolute → path.isAbsolute() returns false → # promptForExecutableConfirmation is shown on every getMaven() call until # the user Allows (which caches the path for the session). workspaceSettings: maven.executable.path: "./fake-mvn" timeout: 120 steps: - id: "wait-java-ls" action: "waitForLanguageServer" timeout: 120 # ────────────────────────────────────────────────────────── # Branch 1: "Use Default Maven" # ────────────────────────────────────────────────────────── - id: "invoke-first" action: "run command Maven: Execute Commands..." - id: "pick-compile-first" action: "select compile option" - id: "click-use-default" action: "clickDialogButton Use Default Maven" verify: "Safety modal appeared and Use Default Maven was clicked" - id: "wait-fallback-log" action: "wait 6 seconds" # No `verify:` freeform — the fallback line is written to a hidden # output channel; there is no expected on-screen change. The next # step's `verifyOutputChannel.contains` is the source of truth. - id: "assert-fallback-log" action: "wait 1 second" # No `verify:` freeform — only the deterministic output-channel # assertion below decides pass/fail. verifyOutputChannel: channel: "Maven for Java" contains: "Falling back to system Maven" # ────────────────────────────────────────────────────────── # Branch 2: "Allow" — must cache, so third invocation has no dialog # ────────────────────────────────────────────────────────── - id: "invoke-second" action: "run command Maven: Execute Commands..." - id: "pick-compile-second" action: "select compile option" - id: "click-allow" action: "clickDialogButton Allow" verify: "Safety modal is dismissed after clicking Allow — BEFORE shows the modal with the 'Allow' button visible; AFTER shows the modal gone." - id: "wait-after-allow" action: "wait 3 seconds" - id: "invoke-third" action: "run command Maven: Execute Commands..." - id: "pick-compile-third" action: "select compile option" - id: "settle-for-possible-dialog" action: "wait 5 seconds" # No `verify:` — negative-assertion preparatory wait. The decisive # check is the next step's `verifyDialog.visible: false`. # Third invocation: ./fake-mvn is in confirmedExecutablePaths → getMaven # returns "safe" immediately → no showWarningMessage call → no modal. - id: "assert-no-dialog-after-allow" action: "wait 1 second" # No `verify:` freeform — only `verifyDialog.visible:false` decides # pass/fail. The third invocation should NOT re-prompt because Allow # cached the path in `confirmedExecutablePaths`. verifyDialog: visible: false ================================================ FILE: test-plans/maven-executable-safety.yaml ================================================ # Test Plan: vscode-maven — Executable Path Safety Prompt # # Covers PR #1152 `isExecutablePathSafe` / `promptForExecutableConfirmation`: # - When a trusted workspace configures a RELATIVE or workspace-contained # maven.executable.path, getMaven() must show a modal warning before use. # - "Use Default Maven" → falls back to system `mvn`, logs in output channel. # - "Allow" → path is accepted and cached for the session (second invocation # must not re-prompt). # # Prerequisites: # - vscode-maven built (dist/extension.js present) # - JDK installed, `mvn` resolvable on PATH (for the Use Default Maven fallback path) # # Usage: npx autotest run test-plans/maven-executable-safety.yaml name: "vscode-maven — Executable Path Safety Prompt" description: | Trusted workspace + suspicious maven.executable.path: verify the safety prompt appears, that "Use Default Maven" falls back with an output log, and that "Allow" caches the decision so no re-prompt occurs on the second run. setup: extension: "vscjava.vscode-maven" extensions: - "redhat.java" extensionPath: "../../vscode-maven" workspace: "../test/projects/maven" vscodeVersion: "stable" # Relative path → path.isAbsolute() === false → triggers the safety prompt # on every getMaven() call until the user Allows. workspaceSettings: maven.executable.path: "./fake-mvn" timeout: 90 steps: - id: "wait-java-ls" action: "waitForLanguageServer" timeout: 120 # Trigger getMaven() via a lifecycle goal. `Maven: Execute Commands...` with # a single project skips the project picker and lands directly on the goal # quick pick. Picking `compile` reaches getMaven(), which should open the # security modal because maven.executable.path is relative (./fake-mvn). - id: "invoke-maven-execute" action: "run command Maven: Execute Commands..." - id: "pick-compile-goal" action: "select compile option" # The meaningful assertion for PR #1152 is simply: "the safety gate fires # when the path is suspicious". `waitForDialog` fails the step if the # Monaco modal (.monaco-dialog-box) does not become visible within 15s, # which is exactly the behavior PR #1152 introduces. - id: "assert-safety-dialog" action: "waitForDialog 15" verify: "Monaco modal dialog for the executable-path warning is visible on screen" # Pressing Escape makes promptForExecutableConfirmation return "abort" → # getMaven() resolves to undefined → no subprocess spawned. - id: "dismiss-prompt" action: "pressKey Escape" verify: "Modal closed; abort path taken, no Maven subprocess spawned" ================================================ FILE: test-plans/maven-lifecycle-inline-action.yaml ================================================ # Test Plan: Maven Explorer Lifecycle Inline Action # # Verifies that clicking the Maven Explorer Run action for a lifecycle phase # executes that exact phase directly. # # Usage: npx autotest run test-plans/maven-lifecycle-inline-action.yaml name: "vscode-maven — Lifecycle Inline Action" description: | Opens a minimal Maven project, expands Maven Explorer lifecycle nodes, clicks the Run inline action for `compile`, and verifies that Maven produced the compiled class file. setup: extension: "vscjava.vscode-maven" extensions: - "redhat.java" extensionPath: "../../vscode-maven" workspace: "../test/projects/lifecycle-compile" vscodeVersion: "stable" timeout: 120 steps: - id: "wait-java-ls" action: "waitForLanguageServer" # No `verify:` — `waitForLanguageServer` is self-asserting; see # archetype plan for rationale. timeout: 120 - id: "focus-maven-view" action: "executeVSCodeCommand mavenProjects.focus" verify: "Maven Projects panel is visible in the Explorer" timeout: 10 - id: "collapse-workspace-root" action: "collapseWorkspaceRoot" # No `verify:` — cosmetic UI prep. The section may already be # collapsed (then the command is a no-op), so there is no reliable # visual signal for the LLM to judge. - id: "collapse-outline" action: "collapseSidebarSection OUTLINE" # No `verify:` — same reason as above. - id: "collapse-timeline" action: "collapseSidebarSection TIMELINE" # No `verify:` — same reason as above. - id: "collapse-java-projects" action: "collapseSidebarSection JAVA PROJECTS" # No `verify:` — same reason as above. - id: "refresh-projects" action: "executeVSCodeCommand maven.explorer.refresh" # No `verify:` — refreshing an unchanged tree produces no visible # delta (the spinner is faster than the screenshot). The Maven tree # is sanity-checked by the subsequent `expandTreeItem` steps which # would fail with `verifyTreeItem` if the refresh broke the tree. timeout: 10 - id: "settle" action: "wait 3 seconds" # No `verify:` — passive settle; no visible change expected. - id: "expand-project" action: "expandTreeItem lifecycle-compile" verifyTreeItem: name: "Lifecycle" exact: true timeout: 30 - id: "expand-lifecycle" action: "expandTreeItem Lifecycle" verifyTreeItem: name: "compile" exact: true timeout: 15 - id: "run-compile-inline-action" action: "clickTreeItemAction compile Run" verify: "Clicking the inline Run icon opens a Terminal panel at the bottom — the panel may still be loading mvn (mvn output arrives asynchronously and is asserted in the next step by file-existence)." timeout: 30 - id: "verify-compile-output" action: "wait 8 seconds" verifyFile: path: "~/target/classes/com/microsoft/vscode/maven/test/App.class" ================================================ FILE: test-plans/maven-smoke.yaml ================================================ # Test Plan: vscode-maven Smoke Test # # Replaces the legacy test/ integration tests in vscode-maven: # - extension present # - extension activates # - Maven view lists the sample project # # Prerequisites: # - vscode-maven repo built (npm run build-plugin && webpack) so dist/extension.js exists # - JDK installed (redhat.java dependency) # # Usage: npx autotest run test-plans/maven-smoke.yaml name: "vscode-maven — Smoke" description: | Replaces vscode-maven/test/ integration smoke tests via autotest. Opens the sample Maven project and confirms the Maven projects tree shows `my-app`. setup: extension: "vscjava.vscode-maven" extensions: - "redhat.java" extensionPath: "../../vscode-maven" workspace: "../test/projects/maven" vscodeVersion: "stable" timeout: 90 steps: - id: "wait-java-ls" action: "waitForLanguageServer" # No `verify:` — `waitForLanguageServer` is self-asserting; see # archetype plan for rationale. timeout: 120 # Focus the Maven Projects view by running its focus command. If this succeeds # it proves the extension activated, contributed its views and registered its # commands against the command palette. - id: "focus-maven-view" action: "executeVSCodeCommand mavenProjects.focus" verify: "Maven Projects panel is visible in the Explorer" # Invoke the Refresh command. The command is registered with # registerCommandRequiringTrust and hidden from the palette # (`commandPalette` `when: never`), so we dispatch it by id rather # than typing it into the palette. - id: "refresh-projects" action: "executeVSCodeCommand maven.explorer.refresh" verify: "Refresh command runs without an error notification" - id: "settle" action: "wait 3 seconds" verify: "No error notification surfaced after refresh" ================================================ FILE: test-plans/maven-trust-gating.yaml ================================================ # Test Plan: vscode-maven — Workspace Trust Gating # # Covers PR #1152 (security hardening) behaviors that must hold in an UNTRUSTED workspace: # 1. Workspace-level `maven.executable.path` is ignored (restrictedConfigurations). # 2. `maven.pomfile.autoUpdateEffectivePOM` does not fire when pom.xml changes # (registerPomFileWatcher guards refreshEffectivePom with isTrusted). # 3. `maven.explorer.refresh` is registered via registerCommandRequiringTrust. # # The workspaceSettings block injects a malicious-looking executable path and enables # auto-update; both must be filtered/gated because the workspace is untrusted. # # Prerequisites: # - vscode-maven built (dist/extension.js present) # - JDK installed # # Usage: npx autotest run test-plans/maven-trust-gating.yaml name: "vscode-maven — Workspace Trust Gating" description: | Verifies that untrusted workspaces do not honor workspace-scoped Maven executable path, do not auto-refresh Effective POM on pom change, and that maven.explorer.refresh is trust-gated. setup: extension: "vscjava.vscode-maven" extensions: - "redhat.java" extensionPath: "../../vscode-maven" workspace: "../test/projects/maven" vscodeVersion: "stable" workspaceTrust: "untrusted" workspaceSettings: # Attacker-controlled value — must be ignored because maven.executable.path # is in restrictedConfigurations and the workspace is untrusted. maven.executable.path: "./evil-mvn.sh" # Attacker enables auto-update — must be ignored for the same reason, # and also gated by vscode.workspace.isTrusted in registerPomFileWatcher. maven.pomfile.autoUpdateEffectivePOM: true timeout: 60 steps: - id: "settle" action: "wait 8 seconds" verify: "VSCode finished loading in Restricted Mode (framework auto-declined trust)" - id: "wait-activation" action: "wait 10 seconds" verify: "Extensions activated in restricted mode (Java Lightweight Mode and restricted banner visible)" # ── Modify pom.xml; confirm no auto-refresh of effective POM ── # Under PR #1152, registerPomFileWatcher guards refreshEffectivePom() with # vscode.workspace.isTrusted. In an untrusted workspace the extension must NOT # spawn `help:effective-pom` even if autoUpdateEffectivePOM is true. - id: "open-pom" action: "open file pom.xml" - id: "touch-pom" action: "insertLineInFile pom.xml 9 " verify: "pom.xml modified on disk" - id: "wait-for-potential-refresh" action: "wait 10 seconds" # No `verify:` freeform — this is a negative-assertion passive wait. # There is intentionally NO visual signal (the trust guard blocks the # refresh silently). The next step's `verifyOutputChannel.notContains` # is the deterministic source of truth. - id: "verify-no-effective-pom-run" action: "wait 1 second" # No `verify:` — only the deterministic notContains check below # decides pass/fail. (Negative-assertion: nothing visible should # change because the trust guard blocked the refresh.) verifyOutputChannel: channel: "Maven for Java" notContains: "help:effective-pom" # ── The attacker-injected maven.executable.path must never surface ── # restrictedConfigurations in package.json prevents workspace-scope override # from taking effect in untrusted mode. - id: "verify-no-evil-path" action: "wait 1 second" # No `verify:` — only the deterministic notContains check below # decides pass/fail. verifyOutputChannel: channel: "Maven for Java" notContains: "evil-mvn.sh" ================================================ FILE: tsconfig.json ================================================ { "compilerOptions": { "module": "commonjs", "target": "es6", "outDir": "out", "lib": [ "es6" ], "sourceMap": true, "rootDir": ".", "noUnusedLocals": true, "noImplicitThis": true, "noImplicitAny": true, "noImplicitReturns": true, "noUnusedParameters": true, "strictNullChecks": true, "alwaysStrict": true, "skipLibCheck": true }, "exclude": [ "node_modules", ".vscode-test" ] } ================================================ FILE: webpack.config.js ================================================ /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ //@ts-check 'use strict'; const path = require('path'); /**@type {import('webpack').Configuration}*/ const config = { target: 'node', // vscode extensions run in a Node.js-context 📖 -> https://webpack.js.org/configuration/node/ node: { __dirname: false, __filename: false, }, entry: './src/extension.ts', // the entry point of this extension, 📖 -> https://webpack.js.org/configuration/entry-context/ output: { // the bundle is stored in the 'dist' folder (check package.json), 📖 -> https://webpack.js.org/configuration/output/ path: path.resolve(__dirname, 'dist'), filename: 'extension.js', libraryTarget: "commonjs2", devtoolModuleFilenameTemplate: "../[resource-path]", }, externals: { vscode: "commonjs vscode", // the vscode-module is created on-the-fly and must be excluded. Add other modules that cannot be webpack'ed, 📖 -> https://webpack.js.org/configuration/externals/ 'applicationinsights-native-metrics': 'commonjs applicationinsights-native-metrics', 'diagnostic-channel-publishers': 'commonjs diagnostic-channel-publishers', }, devtool: 'source-map', resolve: { // support reading TypeScript and JavaScript files, 📖 -> https://github.com/TypeStrong/ts-loader extensions: ['.ts', '.js', '.json'], }, module: { rules: [{ test: /\.ts$/, exclude: /node_modules/, use: [{ loader: 'ts-loader', }] }] }, } module.exports = config;