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.PropertyKey; 022 023/// Additional properties used with maven repositories. 024/// 025public enum MvnProperties implements PropertyKey { 026 027 /// The group that the project's artifacts belong to. Defaults to `null`. 028 @SuppressWarnings("PMD.FieldNamingConventions") 029 GroupId(null), 030 031 /// The artifact id. Defaults to `null`. 032 @SuppressWarnings("PMD.FieldNamingConventions") 033 ArtifactId(null); 034 035 private final Object defaultValue; 036 037 <T> MvnProperties(T defaultValue) { 038 this.defaultValue = defaultValue; 039 } 040 041 @Override 042 @SuppressWarnings("unchecked") 043 public <T> T defaultValue() { 044 return (T)defaultValue; 045 } 046}