001/* 002 * Extra Bnd Repository Plugins 003 * Copyright (C) 2019 Michael N. Lipp 004 * 005 * This program is free software; you can redistribute it and/or modify it 006 * under the terms of the GNU Affero General Public License as published by 007 * the Free Software Foundation; either version 3 of the License, or 008 * (at your option) any later version. 009 * 010 * This program is distributed in the hope that it will be useful, but 011 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 012 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License 013 * for more details. 014 * 015 * You should have received a copy of the GNU Affero General Public License along 016 * with this program; if not, see <http://www.gnu.org/licenses/>. 017 */ 018 019package de.mnl.osgi.bnd.repository.maven.idxmvn; 020 021/** 022 * The configuration information. 023 */ 024public interface IndexedMavenConfiguration { 025 026 /** 027 * The path to the local repository. 028 * 029 * @param deflt the default value 030 * @return the result 031 */ 032 // default "~/.m2/repository" 033 String local(String deflt); 034 035 /** 036 * Points to a directory that is used as database. 037 * 038 * @param deflt the default value 039 * @return the result 040 */ 041 String location(String deflt); 042 043 /** 044 * The name of the repo. Required. 045 * 046 * @param deflt the default value 047 * @return the result 048 */ 049 String name(String deflt); 050 051 /** 052 * The url to the remote release repository. 053 * 054 * @return the result 055 */ 056 String releaseUrls(); 057 058 /** 059 * The url to the remote snapshot repository. If this is not specified, 060 * it falls back to the release repository or just local if this is also 061 * not specified. 062 * 063 * @return the result 064 */ 065 String snapshotUrls(); 066 067 /** 068 * Must be set to get a log of the indexing operation. 069 * 070 * @return true, if a log is to be written 071 */ 072 boolean logIndexing(); 073}