diff options
17 files changed, 121 insertions, 101 deletions
diff --git a/client/go/internal/cli/cmd/feed_test.go b/client/go/internal/cli/cmd/feed_test.go index d1904ad815e..fc2c5ec7520 100644 --- a/client/go/internal/cli/cmd/feed_test.go +++ b/client/go/internal/cli/cmd/feed_test.go @@ -80,13 +80,17 @@ func TestFeed(t *testing.T) { require.Nil(t, cli.Run("feed", "-")) assert.Equal(t, want, stdout.String()) - httpClient.NextResponseString(500, `{"message":"it's broken yo"}`) + for i := 0; i < 10; i++ { + httpClient.NextResponseString(500, `{"message":"it's broken yo"}`) + } require.Nil(t, cli.Run("feed", jsonFile1)) - assert.Equal(t, "feed: got status 500 ({\"message\":\"it's broken yo\"}) for put id:ns:type::doc1: retrying\n", stderr.String()) + assert.Equal(t, "feed: got status 500 ({\"message\":\"it's broken yo\"}) for put id:ns:type::doc1: giving up after 10 attempts\n", stderr.String()) stderr.Reset() - httpClient.NextResponseError(fmt.Errorf("something else is broken")) + for i := 0; i < 10; i++ { + httpClient.NextResponseError(fmt.Errorf("something else is broken")) + } require.Nil(t, cli.Run("feed", jsonFile1)) - assert.Equal(t, "feed: got error \"something else is broken\" (no body) for put id:ns:type::doc1: retrying\n", stderr.String()) + assert.Equal(t, "feed: got error \"something else is broken\" (no body) for put id:ns:type::doc1: giving up after 10 attempts\n", stderr.String()) } func TestFeedInvalid(t *testing.T) { diff --git a/client/go/internal/mock/http.go b/client/go/internal/mock/http.go index 8bab716ea60..3d4ead596b0 100644 --- a/client/go/internal/mock/http.go +++ b/client/go/internal/mock/http.go @@ -14,8 +14,8 @@ type HTTPClient struct { // The responses to return for future requests. Once a response is consumed, it's removed from this slice. nextResponses []HTTPResponse - // The error to return for the next request. If non-nil, this error is returned before any responses in nextResponses. - nextError error + // The errors to return for future requests. If non-nil, these errors are returned before any responses in nextResponses. + nextErrors []error // LastRequest is the last HTTP request made through this. LastRequest *http.Request @@ -52,13 +52,14 @@ func (c *HTTPClient) NextResponse(response HTTPResponse) { } func (c *HTTPClient) NextResponseError(err error) { - c.nextError = err + c.nextErrors = append(c.nextErrors, err) } func (c *HTTPClient) Do(request *http.Request, timeout time.Duration) (*http.Response, error) { - if c.nextError != nil { - err := c.nextError - c.nextError = nil + c.LastRequest = request + if len(c.nextErrors) > 0 { + err := c.nextErrors[0] + c.nextErrors = c.nextErrors[1:] return nil, err } response := HTTPResponse{Status: 200} @@ -66,7 +67,6 @@ func (c *HTTPClient) Do(request *http.Request, timeout time.Duration) (*http.Res response = c.nextResponses[0] c.nextResponses = c.nextResponses[1:] } - c.LastRequest = request if c.ReadBody && request.Body != nil { body, err := io.ReadAll(request.Body) if err != nil { diff --git a/client/go/internal/vespa/document/dispatcher.go b/client/go/internal/vespa/document/dispatcher.go index fa4424809cf..fb7a532e332 100644 --- a/client/go/internal/vespa/document/dispatcher.go +++ b/client/go/internal/vespa/document/dispatcher.go @@ -67,7 +67,7 @@ func (d *Dispatcher) logResult(doc Document, result Result, retry bool) { if result.Trace != "" { d.msgs <- fmt.Sprintf("feed: trace for %s %s:\n%s", doc.Operation, doc.Id, result.Trace) } - if !d.verbose && result.Success() { + if !d.verbose && (retry || result.Success()) { return } var msg strings.Builder diff --git a/client/go/internal/vespa/document/http.go b/client/go/internal/vespa/document/http.go index d6e7745e6b1..a2e399549c4 100644 --- a/client/go/internal/vespa/document/http.go +++ b/client/go/internal/vespa/document/http.go @@ -265,18 +265,18 @@ func (c *Client) Send(document Document) Result { req, buf, err := c.prepare(document) defer c.buffers.Put(buf) if err != nil { - return resultWithErr(result, err) + return resultWithErr(result, err, 0) } bodySize := len(document.Body) if buf.Len() > 0 { bodySize = buf.Len() } resp, err := c.leastBusyClient().Do(req, c.clientTimeout()) + elapsed := c.now().Sub(start) if err != nil { - return resultWithErr(result, err) + return resultWithErr(result, err, elapsed) } defer resp.Body.Close() - elapsed := c.now().Sub(start) return c.resultWithResponse(resp, bodySize, result, elapsed, buf, false) } @@ -290,20 +290,21 @@ func (c *Client) Get(id Id) Result { result := Result{Id: id} req, err := http.NewRequest(http.MethodGet, url, nil) if err != nil { - return resultWithErr(result, err) + return resultWithErr(result, err, 0) } resp, err := c.leastBusyClient().Do(req, c.clientTimeout()) + elapsed := c.now().Sub(start) if err != nil { - return resultWithErr(result, err) + return resultWithErr(result, err, elapsed) } defer resp.Body.Close() - elapsed := c.now().Sub(start) return c.resultWithResponse(resp, 0, result, elapsed, buf, true) } -func resultWithErr(result Result, err error) Result { +func resultWithErr(result Result, err error, elapsed time.Duration) Result { result.Status = StatusTransportFailure result.Err = err + result.Latency = elapsed return result } @@ -322,14 +323,14 @@ func (c *Client) resultWithResponse(resp *http.Response, sentBytes int, result R buf.Reset() written, err := io.Copy(buf, resp.Body) if err != nil { - result = resultWithErr(result, err) + result = resultWithErr(result, err, elapsed) } else { if result.Success() && c.options.TraceLevel > 0 { var jsonResponse struct { Trace json.RawValue `json:"trace"` } if err := json.Unmarshal(buf.Bytes(), &jsonResponse); err != nil { - result = resultWithErr(result, fmt.Errorf("failed to decode json response: %w", err)) + result = resultWithErr(result, fmt.Errorf("failed to decode json response: %w", err), elapsed) } else { result.Trace = string(jsonResponse.Trace) } diff --git a/client/go/internal/vespa/document/http_test.go b/client/go/internal/vespa/document/http_test.go index c797ba5607f..6faa14705f0 100644 --- a/client/go/internal/vespa/document/http_test.go +++ b/client/go/internal/vespa/document/http_test.go @@ -74,6 +74,9 @@ func TestClientSend(t *testing.T) { {Document{Condition: "foo", Id: mustParseId("id:ns:type::doc4"), Operation: OperationUpdate, Body: []byte(`{"fields":{"baz": "789"}}`)}, "PUT", "https://example.com:1337/document/v1/ns/type/docid/doc4?timeout=5000ms&condition=foo"}, + {Document{Id: mustParseId("id:ns:type::doc5"), Operation: OperationPut, Body: []byte(`{"fields":{"baz": "789"}}`)}, + "POST", + "https://example.com:1337/document/v1/ns/type/docid/doc5?timeout=5000ms"}, } httpClient := mock.HTTPClient{ReadBody: true} client, _ := NewClient(ClientOptions{ @@ -89,53 +92,61 @@ func TestClientSend(t *testing.T) { Id: doc.Id, Latency: time.Second, } - if i < 3 { + switch i { + case 0, 1, 2: msg := `{"message":"All good!"}` httpClient.NextResponseString(200, msg) wantRes.Status = StatusSuccess wantRes.HTTPStatus = 200 wantRes.BytesRecv = 23 - } else { + case 3: errMsg := `something went wront` httpClient.NextResponseString(502, errMsg) wantRes.Status = StatusVespaFailure wantRes.HTTPStatus = 502 wantRes.Body = []byte(errMsg) wantRes.BytesRecv = 20 + case 4: + transportErr := fmt.Errorf("transport error") + httpClient.NextResponseError(transportErr) + wantRes.Err = transportErr + wantRes.Status = StatusTransportFailure } res := client.Send(doc) - wantRes.BytesSent = int64(len(httpClient.LastBody)) + if res.Err == nil { + wantRes.BytesSent = int64(len(httpClient.LastBody)) + } if !reflect.DeepEqual(res, wantRes) { - t.Fatalf("got result %+v, want %+v", res, wantRes) + t.Fatalf("#%d: got result %+v, want %+v", i, res, wantRes) } stats.Add(res) r := httpClient.LastRequest if r.Method != tt.method { - t.Errorf("got r.Method = %q, want %q", r.Method, tt.method) + t.Errorf("#%d: got r.Method = %q, want %q", i, r.Method, tt.method) } var headers http.Header = map[string][]string{ "Content-Type": {"application/json; charset=utf-8"}, } if !reflect.DeepEqual(r.Header, headers) { - t.Errorf("got r.Header = %v, want %v", r.Header, headers) + t.Errorf("#%d: got r.Header = %v, want %v", i, r.Header, headers) } if r.URL.String() != tt.url { - t.Errorf("got r.URL = %q, want %q", r.URL, tt.url) + t.Errorf("#%d: got r.URL = %q, want %q", i, r.URL, tt.url) } if !bytes.Equal(httpClient.LastBody, doc.Body) { - t.Errorf("got r.Body = %q, want %q", string(httpClient.LastBody), doc.Body) + t.Errorf("#%d: got r.Body = %q, want %q", i, string(httpClient.LastBody), doc.Body) } } want := Stats{ - Requests: 4, + Requests: 5, Responses: 4, ResponsesByCode: map[int]int64{ 200: 3, 502: 1, }, - Errors: 0, + Errors: 1, Inflight: 0, - TotalLatency: 4 * time.Second, + TotalLatency: 5 * time.Second, MinLatency: time.Second, MaxLatency: time.Second, BytesSent: 75, diff --git a/client/go/internal/vespa/document/stats.go b/client/go/internal/vespa/document/stats.go index 3e647d0f893..e53d787cd01 100644 --- a/client/go/internal/vespa/document/stats.go +++ b/client/go/internal/vespa/document/stats.go @@ -86,9 +86,9 @@ func (s *Stats) Add(result Result) { if s.ResponsesByCode == nil { s.ResponsesByCode = make(map[int]int64) } - responsesByCode := s.ResponsesByCode[result.HTTPStatus] - s.ResponsesByCode[result.HTTPStatus] = responsesByCode + 1 if result.Err == nil { + responsesByCode := s.ResponsesByCode[result.HTTPStatus] + s.ResponsesByCode[result.HTTPStatus] = responsesByCode + 1 s.Responses++ } else { s.Errors++ diff --git a/cloud-tenant-base-dependencies-enforcer/pom.xml b/cloud-tenant-base-dependencies-enforcer/pom.xml index 85805da76a5..78103f4beb5 100644 --- a/cloud-tenant-base-dependencies-enforcer/pom.xml +++ b/cloud-tenant-base-dependencies-enforcer/pom.xml @@ -24,7 +24,7 @@ <bouncycastle.version>1.74</bouncycastle.version> <commons-codec.version>1.15</commons-codec.version> - <felix.version>7.0.1</felix.version> + <felix.version>7.0.5</felix.version> <httpclient5.version>5.2.1</httpclient5.version> <httpcore5.version>5.2.1</httpcore5.version> <httpclient.version>4.5.14</httpclient.version> @@ -58,7 +58,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> - <version>3.0.0</version> + <version>3.3.0</version> <dependencies> <dependency> <groupId>com.yahoo.vespa</groupId> diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/pkg/ApplicationPackageValidator.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/pkg/ApplicationPackageValidator.java index 0d8e7745f65..186e6838a71 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/pkg/ApplicationPackageValidator.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/pkg/ApplicationPackageValidator.java @@ -85,10 +85,7 @@ public class ApplicationPackageValidator { private void validateDeprecatedElements(ApplicationPackage applicationPackage) { int wantedMajor = applicationPackage.compileVersion().map(Version::getMajor) .or(() -> applicationPackage.deploymentSpec().majorVersion()) - .or(() -> controller.readVersionStatus().controllerVersion() - .map(VespaVersion::versionNumber) - .map(Version::getMajor)) - .orElseThrow(() -> new IllegalArgumentException("Could not determine wanted major version")); + .orElseGet(() -> controller.readSystemVersion().getMajor()); for (var deprecatedElement : applicationPackage.deploymentSpec().deprecatedElements()) { if (deprecatedElement.majorVersion() >= wantedMajor) continue; throw new IllegalArgumentException(deprecatedElement.humanReadableString()); diff --git a/hosted-tenant-base/pom.xml b/hosted-tenant-base/pom.xml index 7ca96a4d8b7..f2d4c6ab012 100644 --- a/hosted-tenant-base/pom.xml +++ b/hosted-tenant-base/pom.xml @@ -195,7 +195,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> - <version>3.0.0</version> + <version>3.3.0</version> <executions> <execution> <id>enforce-java</id> diff --git a/maven-plugins/allowed-maven-dependencies.txt b/maven-plugins/allowed-maven-dependencies.txt index d504357b07c..99d4d227305 100644 --- a/maven-plugins/allowed-maven-dependencies.txt +++ b/maven-plugins/allowed-maven-dependencies.txt @@ -28,7 +28,7 @@ org.apache.maven:maven-repository-metadata:3.8.7 org.apache.maven:maven-resolver-provider:3.8.7 org.apache.maven:maven-settings:3.8.7 org.apache.maven:maven-settings-builder:3.8.7 -org.apache.maven.enforcer:enforcer-api:3.0.0 +org.apache.maven.enforcer:enforcer-api:3.3.0 org.apache.maven.plugin-tools:maven-plugin-annotations:3.6.4 org.apache.maven.plugins:maven-shade-plugin:3.4.1 org.apache.maven.resolver:maven-resolver-api:1.6.3 @@ -37,7 +37,6 @@ org.apache.maven.resolver:maven-resolver-spi:1.6.3 org.apache.maven.resolver:maven-resolver-util:1.6.3 org.apache.maven.shared:maven-artifact-transfer:0.13.1 org.apache.maven.shared:maven-common-artifact-filters:3.1.0 -org.apache.maven.shared:maven-dependency-tree:3.1.1 org.apache.maven.shared:maven-dependency-tree:3.2.0 org.apache.maven.shared:maven-shared-utils:3.3.4 org.codehaus.plexus:plexus-archiver:4.4.0 @@ -50,7 +49,6 @@ org.codehaus.plexus:plexus-sec-dispatcher:2.0 org.codehaus.plexus:plexus-utils:3.3.1 org.eclipse.aether:aether-api:1.0.0.v20140518 org.eclipse.aether:aether-util:1.0.0.v20140518 -org.eclipse.aether:aether-util:1.1.0 org.eclipse.sisu:org.eclipse.sisu.inject:0.3.5 org.eclipse.sisu:org.eclipse.sisu.plexus:0.3.5 org.iq80.snappy:snappy:0.4 diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicProvisioningTester.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicProvisioningTester.java index de9b3a4db33..4799d3b5577 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicProvisioningTester.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicProvisioningTester.java @@ -27,7 +27,6 @@ import com.yahoo.vespa.hosted.provision.node.IP; import com.yahoo.vespa.hosted.provision.testutils.InMemoryProvisionLogger; import java.time.Duration; -import java.util.ArrayList; import java.util.List; import java.util.Optional; import java.util.Set; @@ -36,12 +35,12 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; /** - * A provisioniong tester which + * A provisioning tester which * - Supports dynamic provisioning (only). * - Optionally replicates the actual AWS setup and logic used on Vespa Cloud. * - Supports autoscaling testing. * - * TODO: All provisioning testing should migrate to use this, and then the provisionging tester should be collapsed + * TODO: All provisioning testing should migrate to use this, and then the provisioning tester should be collapsed * into this. ... or we should just use autoscalingtester for everything. * * @author bratseth @@ -80,13 +79,6 @@ public class DynamicProvisioningTester { capacityPolicies = new CapacityPolicies(provisioningTester.nodeRepository()); } - private static List<Flavor> toFlavors(List<NodeResources> resources) { - List<Flavor> flavors = new ArrayList<>(); - for (int i = 0; i < resources.size(); i++) - flavors.add(new Flavor("flavor" + i, resources.get(i))); - return flavors; - } - public InMemoryProvisionLogger provisionLogger() { return provisioningTester.provisionLogger(); } public static Fixture.Builder fixture() { return new Fixture.Builder(); } diff --git a/parent/pom.xml b/parent/pom.xml index 6b855ce637f..f240f80c3c6 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -252,7 +252,7 @@ <plugin> <groupId>com.helger.maven</groupId> <artifactId>ph-javacc-maven-plugin</artifactId> - <version>4.1.2</version> + <version>4.1.5</version> <executions> <execution> <phase>generate-sources</phase> @@ -826,6 +826,11 @@ <version>2.2.1</version> </dependency> <dependency> + <groupId>org.apache.maven.enforcer</groupId> + <artifactId>enforcer-api</artifactId> + <version>${maven-enforcer-plugin.version}</version> + </dependency> + <dependency> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-plugin-annotations</artifactId> <version>${maven-plugin-tools.version}</version> @@ -836,6 +841,11 @@ <version>${maven-jar-plugin.version}</version> </dependency> <dependency> + <groupId>org.apache.maven.shared</groupId> + <artifactId>maven-dependency-tree</artifactId> + <version>3.2.0</version> + </dependency> + <dependency> <groupId>org.apache.maven.surefire</groupId> <artifactId>surefire-junit4</artifactId> <version>${surefire.version}</version> @@ -1146,7 +1156,7 @@ <commons-io.version>2.11.0</commons-io.version> <commons.math3.version>3.6.1</commons.math3.version> <eclipse-collections.version>11.0.0</eclipse-collections.version> - <felix.version>7.0.1</felix.version> + <felix.version>7.0.5</felix.version> <felix.log.version>1.0.1</felix.log.version> <findbugs.version>3.0.2</findbugs.version> <!-- Should be kept in sync with guava --> <hdrhistogram.version>2.1.12</hdrhistogram.version> @@ -1162,7 +1172,7 @@ <maven-core.version>3.8.7</maven-core.version> <maven-dependency-plugin.version>3.6.0</maven-dependency-plugin.version> <!-- NOTE: When upgrading, also update explicit versions in tenant base poms! --> <maven-deploy-plugin.version>2.8.2</maven-deploy-plugin.version> - <maven-enforcer-plugin.version>3.0.0</maven-enforcer-plugin.version> + <maven-enforcer-plugin.version>3.3.0</maven-enforcer-plugin.version> <maven-failsafe-plugin.version>3.0.0-M6</maven-failsafe-plugin.version> <maven-install-plugin.version>3.1.1</maven-install-plugin.version> <maven-jar-plugin.version>3.2.0</maven-jar-plugin.version> diff --git a/searchlib/abi-spec.json b/searchlib/abi-spec.json index 7d6f2f8790c..a8e028ff6ad 100644 --- a/searchlib/abi-spec.json +++ b/searchlib/abi-spec.json @@ -822,46 +822,43 @@ "abstract" ], "methods" : [ - "public void setTabSize(int)", - "public int getTabSize()", - "protected void expandBuff(boolean)", + "public void <init>(int, int, int)", + "public final void reInit(int, int, int)", "protected abstract int streamRead(char[], int, int)", "protected abstract void streamClose()", + "protected int getBufSizeAfterExpansion()", + "protected void expandBuff(boolean)", + "protected final void internalAdjustBuffSize()", "protected void fillBuff()", - "public char beginToken()", - "protected void updateLineColumn(char)", + "protected final void internalSetBufLineColumn(int, int)", + "protected final void internalUpdateLineColumn(char)", "public char readChar()", + "public char beginToken()", "public int getBeginColumn()", "public int getBeginLine()", "public int getEndColumn()", "public int getEndLine()", "public void backup(int)", - "public void <init>(int, int, int)", - "public void reInit(int, int, int)", "public java.lang.String getImage()", "public char[] getSuffix(int)", "public void done()", - "public void adjustBeginLineColumn(int, int)", - "public void setTrackLineColumn(boolean)", - "public boolean isTrackLineColumn()" + "public final int getTabSize()", + "public final void setTabSize(int)", + "public final void adjustBeginLineColumn(int, int)", + "protected final int getLine()", + "protected final int getColumn()", + "public final boolean isTrackLineColumn()", + "public final void setTrackLineColumn(boolean)" ], "fields" : [ "public static final int DEFAULT_BUF_SIZE", - "protected int bufpos", + "protected char[] buffer", "protected int bufsize", + "protected int bufpos", "protected int available", "protected int tokenBegin", - "protected int[] bufline", - "protected int[] bufcolumn", - "protected int column", - "protected int line", - "protected boolean prevCharIsCR", - "protected boolean prevCharIsLF", - "protected char[] buffer", - "protected int maxNextCharInd", "protected int inBuf", - "protected char[] nextCharBuf", - "protected int nextCharInd" + "protected int maxNextCharInd" ] }, "com.yahoo.searchlib.rankingexpression.parser.CharStream" : { @@ -883,10 +880,10 @@ "public abstract java.lang.String getImage()", "public abstract char[] getSuffix(int)", "public abstract void done()", - "public abstract void setTabSize(int)", "public abstract int getTabSize()", - "public abstract void setTrackLineColumn(boolean)", - "public abstract boolean isTrackLineColumn()" + "public abstract void setTabSize(int)", + "public abstract boolean isTrackLineColumn()", + "public abstract void setTrackLineColumn(boolean)" ], "fields" : [ ] }, @@ -989,9 +986,7 @@ "public final com.yahoo.tensor.functions.Slice$DimensionValue dimensionValue(java.util.Optional)", "public final java.lang.String label()", "public final java.lang.String string()", - "public void <init>(java.io.InputStream)", "public void <init>(java.io.InputStream, java.lang.String)", - "public void ReInit(java.io.InputStream)", "public void ReInit(java.io.InputStream, java.lang.String)", "public void <init>(java.io.Reader)", "public void ReInit(java.io.Reader)", @@ -1156,26 +1151,22 @@ "public" ], "methods" : [ - "protected int streamRead(char[], int, int)", - "protected void streamClose()", - "protected void fillBuff()", - "public char readChar()", "public void <init>(java.io.Reader, int, int, int)", "public void <init>(java.io.Reader, int, int)", "public void <init>(java.io.Reader)", - "public void reInit(java.io.Reader)", - "public void reInit(java.io.Reader, int, int)", "public void reInit(java.io.Reader, int, int, int)", + "public void reInit(java.io.Reader, int, int)", + "public void reInit(java.io.Reader)", "public void <init>(java.io.InputStream, java.lang.String, int, int, int)", "public void <init>(java.io.InputStream, java.lang.String, int, int)", "public void <init>(java.io.InputStream, java.lang.String)", "public void reInit(java.io.InputStream, java.lang.String)", "public void reInit(java.io.InputStream, java.lang.String, int, int)", - "public void reInit(java.io.InputStream, java.lang.String, int, int, int)" + "public void reInit(java.io.InputStream, java.lang.String, int, int, int)", + "protected int streamRead(char[], int, int)", + "protected void streamClose()" ], - "fields" : [ - "protected java.io.Reader inputStream" - ] + "fields" : [ ] }, "com.yahoo.searchlib.rankingexpression.parser.Token" : { "superClass" : "java.lang.Object", diff --git a/vespa-dependencies-enforcer/allowed-maven-dependencies.txt b/vespa-dependencies-enforcer/allowed-maven-dependencies.txt index a66aec154d9..9b3dbf64be3 100644 --- a/vespa-dependencies-enforcer/allowed-maven-dependencies.txt +++ b/vespa-dependencies-enforcer/allowed-maven-dependencies.txt @@ -89,7 +89,7 @@ org.apache.commons:commons-math3:3.6.1 org.apache.curator:curator-client:5.4.0 org.apache.curator:curator-framework:5.4.0 org.apache.curator:curator-recipes:5.4.0 -org.apache.felix:org.apache.felix.framework:7.0.1 +org.apache.felix:org.apache.felix.framework:7.0.5 org.apache.felix:org.apache.felix.log:1.0.1 org.apache.httpcomponents:httpclient:4.5.14 org.apache.httpcomponents:httpcore:4.4.16 diff --git a/vespa-enforcer-extensions/pom.xml b/vespa-enforcer-extensions/pom.xml index 96df2c2ac33..4c006cb393f 100644 --- a/vespa-enforcer-extensions/pom.xml +++ b/vespa-enforcer-extensions/pom.xml @@ -16,15 +16,13 @@ <dependencies> <dependency> - <groupId>org.apache.maven.enforcer</groupId> - <artifactId>enforcer-api</artifactId> - <version>3.0.0</version> - <scope>provided</scope> - </dependency> - <dependency> <groupId>org.apache.maven.shared</groupId> <artifactId>maven-dependency-tree</artifactId> - <version>3.1.1</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.apache.maven.enforcer</groupId> + <artifactId>enforcer-api</artifactId> <scope>provided</scope> </dependency> <dependency> @@ -50,6 +48,22 @@ <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + <executions> + <execution> + <phase>package</phase> + <goals> + <goal>shade</goal> + </goals> + <configuration> + <createDependencyReducedPom>false</createDependencyReducedPom> + </configuration> + </execution> + </executions> + </plugin> + </plugins> </build> diff --git a/vespa-enforcer-extensions/src/main/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependencies.java b/vespa-enforcer-extensions/src/main/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependencies.java index 4ff363a3e4e..05ae7005c1f 100644 --- a/vespa-enforcer-extensions/src/main/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependencies.java +++ b/vespa-enforcer-extensions/src/main/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependencies.java @@ -31,6 +31,7 @@ import java.util.regex.Pattern; * * @author bjorncs */ +@SuppressWarnings("deprecation") public class EnforceDependencies implements EnforcerRule { private List<String> allowedDependencies = List.of(); diff --git a/vespa-enforcer-extensions/src/main/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependenciesAllProjects.java b/vespa-enforcer-extensions/src/main/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependenciesAllProjects.java index 3787d84e4be..3db1019a2b1 100644 --- a/vespa-enforcer-extensions/src/main/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependenciesAllProjects.java +++ b/vespa-enforcer-extensions/src/main/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependenciesAllProjects.java @@ -38,6 +38,7 @@ import java.util.stream.Stream; /** * @author bjorncs */ +@SuppressWarnings("deprecation") public class EnforceDependenciesAllProjects implements EnforcerRule { private static final String WRITE_SPEC_PROP = "dependencyEnforcer.writeSpec"; |