gnodet commented on code in PR #1391: URL: https://github.com/apache/maven/pull/1391#discussion_r1465554808
########## api/maven-api-core/src/main/java/org/apache/maven/api/Artifact.java: ########## @@ -105,6 +105,14 @@ default String key() { */ boolean isSnapshot(); + /** + * The artifact properties. + * + * @return the artifact properties, never {@code null} + */ + @Nonnull + ArtifactProperties getArtifactProperties(); Review Comment: well, then they should be kept on the `Dependency` ########## api/maven-api-core/src/main/java/org/apache/maven/api/BuildPath.java: ########## @@ -0,0 +1,48 @@ +/* + * 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. + */ +package org.apache.maven.api; + +import java.util.Collection; + +import org.apache.maven.api.annotations.Experimental; +import org.apache.maven.api.annotations.Immutable; +import org.apache.maven.api.annotations.Nonnull; + +/** + * Build path. Build path is calculated for given {@link Project} and {@link BuildPathScope}. Review Comment: It should be noted what the build path is and what's the purpose. It's not a common java notion, unlike class path and module path. Especially the "build" term could lead to think it's role is build time, but that's not the case and it can be used at build time or run time. ########## api/maven-api-core/src/main/java/org/apache/maven/api/BuildPath.java: ########## @@ -0,0 +1,48 @@ +/* + * 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. + */ +package org.apache.maven.api; + +import java.util.Collection; + +import org.apache.maven.api.annotations.Experimental; +import org.apache.maven.api.annotations.Immutable; +import org.apache.maven.api.annotations.Nonnull; + +/** + * Build path. Build path is calculated for given {@link Project} and {@link BuildPathScope}. + * + * @since 4.0.0 + */ +@Experimental +@Immutable +public interface BuildPath { + @Nonnull + Project project(); + + @Nonnull + BuildPathScope buildPathScope(); + + @Nonnull + default Language language() { + return project().getLanguage(); + } + + @Nonnull + Collection<Artifact> getArtifacts(); Review Comment: A `Node` would be required. From that one, we can derive a `List<Dependency>` and eventually a `List<Artifact>`. But that's related to my remark around artifact properties which I think are still dependency properties. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org