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 final class MvnProperties { 026 027 /// The group that the project's artifacts belong to. Defaults to `null`. 028 @SuppressWarnings("PMD.FieldNamingConventions") 029 public static final PropertyKey<String> GroupId 030 = new PropertyKey<>(String.class); 031 032 /// The artifact id. Defaults to `null`. 033 @SuppressWarnings("PMD.FieldNamingConventions") 034 public static final PropertyKey<String> ArtifactId 035 = new PropertyKey<>(String.class); 036 037 /// A key that can be used for centralized management of 038 /// [MvnPublishingDestination]s. The pattern is to set the 039 /// value of this property in the root project and then use 040 /// `generator(MvnPublisher::new).destination(get(PublishingDestinations));` 041 /// in each project when adding a [MvnPublisher]. 042 @SuppressWarnings("PMD.FieldNamingConventions") 043 public static final PropertyKey< 044 MvnPublishingDestination[]> PublishingDestinations 045 = new PropertyKey<>(MvnPublishingDestination[].class); 046 047 private MvnProperties() { 048 } 049}