001/* 002 * JDrupes Builder 003 * Copyright (C) 2025 Michael N. Lipp 004 * 005 * This program is free software: you can redistribute it and/or modify 006 * it under the terms of the GNU Affero General Public License as 007 * published by the Free Software Foundation, either version 3 of the 008 * License, or (at your option) any later version. 009 * 010 * This program is distributed in the hope that it will be useful, 011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 013 * GNU Affero General Public License for more details. 014 * 015 * You should have received a copy of the GNU Affero General Public License 016 * along with this program. If not, see <https://www.gnu.org/licenses/>. 017 */ 018 019package org.jdrupes.builder.mvnrepo; 020 021import org.jdrupes.builder.api.ResourceType; 022import org.jdrupes.builder.java.CompilationResources; 023import org.jdrupes.builder.java.RuntimeResources; 024 025/// A collection of Maven specific [ResourceType]s. 026/// 027@SuppressWarnings({ "PMD.FieldNamingConventions", "PMD.DataClass" }) 028public final class MvnRepoTypes { 029 030 private MvnRepoTypes() { 031 } 032 033 /// The maven repository resource type. 034 public static final ResourceType<MvnRepoResource> MvnRepoResourceType 035 = new ResourceType<>() {}; 036 037 /// The maven repository dependency type. 038 public static final ResourceType< 039 MvnRepoDependency> MvnRepoDependencyType = new ResourceType<>() {}; 040 041 /// The maven repository compilation dependencies type. 042 @SuppressWarnings("PMD.LongVariable") 043 public static final ResourceType< 044 CompilationResources<MvnRepoDependency>> MvnRepoCompilationDepsType 045 = new ResourceType<>() {}; 046 047 /// The maven repository runtime dependencies type. 048 public static final ResourceType< 049 RuntimeResources<MvnRepoDependency>> MvnRepoRuntimeDepsType 050 = new ResourceType<>() {}; 051 052 /// The maven publication type. 053 public static final ResourceType< 054 MvnPublication> MvnPublicationType = new ResourceType<>() {}; 055 056 /// A jar file from the maven repository. 057 public static final ResourceType< 058 MvnRepoJarFile> MvnRepoJarFileType = new ResourceType<>() {}; 059 060 /// A library jar file from the maven repository. 061 public static final ResourceType< 062 MvnRepoLibraryJarFile> MvnRepoLibraryJarFileType 063 = new ResourceType<>() {}; 064 065 /// The POM file type. 066 public static final ResourceType< 067 PomFile> PomFileType = new ResourceType<>() {}; 068 069}