loading up the forgejo repo on tangled to test page performance
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge pull request 'templates: Be more forgiving about missing package metadata' (#3701) from algernon/forgejo:missing-metadata-makes-me-mumble-murky-messages into forgejo

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3701
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>

+50 -35
+38 -34
templates/package/content/maven.tmpl
··· 23 23 &lt;/snapshotRepository&gt; 24 24 &lt;/distributionManagement&gt;</code></pre></div> 25 25 </div> 26 - <div class="field"> 27 - <label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.maven.install"}}</label> 28 - <div class="markup"><pre class="code-block"><code>&lt;dependency&gt; 26 + {{if .PackageDescriptor.Metadata}} 27 + <div class="field"> 28 + <label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.maven.install"}}</label> 29 + <div class="markup"><pre class="code-block"><code>&lt;dependency&gt; 29 30 &lt;groupId&gt;{{.PackageDescriptor.Metadata.GroupID}}&lt;/groupId&gt; 30 31 &lt;artifactId&gt;{{.PackageDescriptor.Metadata.ArtifactID}}&lt;/artifactId&gt; 31 32 &lt;version&gt;{{.PackageDescriptor.Version.Version}}&lt;/version&gt; 32 33 &lt;/dependency&gt;</code></pre></div> 33 - </div> 34 - <div class="field"> 35 - <label>{{svg "octicon-terminal"}} {{ctx.Locale.Tr "packages.maven.install2"}}</label> 36 - <div class="markup"><pre class="code-block"><code>mvn install</code></pre></div> 37 - </div> 38 - <div class="field"> 39 - <label>{{svg "octicon-terminal"}} {{ctx.Locale.Tr "packages.maven.download"}}</label> 40 - <div class="markup"><pre class="code-block"><code>mvn dependency:get -DremoteRepositories=<origin-url data-url="{{AppSubUrl}}/api/packages/{{.PackageDescriptor.Owner.Name}}/maven"></origin-url> -Dartifact={{.PackageDescriptor.Metadata.GroupID}}:{{.PackageDescriptor.Metadata.ArtifactID}}:{{.PackageDescriptor.Version.Version}}</code></pre></div> 41 - </div> 42 - <div class="field"> 43 - <label>{{ctx.Locale.Tr "packages.registry.documentation" "Maven" "https://forgejo.org/docs/latest/user/packages/maven/"}}</label> 44 - </div> 34 + </div> 35 + <div class="field"> 36 + <label>{{svg "octicon-terminal"}} {{ctx.Locale.Tr "packages.maven.install2"}}</label> 37 + <div class="markup"><pre class="code-block"><code>mvn install</code></pre></div> 38 + </div> 39 + <div class="field"> 40 + <label>{{svg "octicon-terminal"}} {{ctx.Locale.Tr "packages.maven.download"}}</label> 41 + <div class="markup"><pre class="code-block"><code>mvn dependency:get -DremoteRepositories=<origin-url data-url="{{AppSubUrl}}/api/packages/{{.PackageDescriptor.Owner.Name}}/maven"></origin-url> -Dartifact={{.PackageDescriptor.Metadata.GroupID}}:{{.PackageDescriptor.Metadata.ArtifactID}}:{{.PackageDescriptor.Version.Version}}</code></pre></div> 42 + </div> 43 + <div class="field"> 44 + <label>{{ctx.Locale.Tr "packages.registry.documentation" "Maven" "https://forgejo.org/docs/latest/user/packages/maven/"}}</label> 45 + </div> 46 + {{end}} 45 47 </div> 46 48 </div> 47 49 48 - {{if .PackageDescriptor.Metadata.Description}} 49 - <h4 class="ui top attached header">{{ctx.Locale.Tr "packages.about"}}</h4> 50 - <div class="ui attached segment"> 51 - {{.PackageDescriptor.Metadata.Description}} 52 - </div> 53 - {{end}} 50 + {{if .PackageDescriptor.Metadata}} 51 + {{if .PackageDescriptor.Metadata.Description}} 52 + <h4 class="ui top attached header">{{ctx.Locale.Tr "packages.about"}}</h4> 53 + <div class="ui attached segment"> 54 + {{.PackageDescriptor.Metadata.Description}} 55 + </div> 56 + {{end}} 54 57 55 - {{if .PackageDescriptor.Metadata.Dependencies}} 56 - <h4 class="ui top attached header">{{ctx.Locale.Tr "packages.dependencies"}}</h4> 57 - <div class="ui attached segment"> 58 - <div class="ui list"> 59 - {{range .PackageDescriptor.Metadata.Dependencies}} 60 - <div class="item"> 61 - <i class="icon">{{svg "octicon-package-dependencies" 16 ""}}</i> 62 - <div class="content"> 63 - <div class="header">{{.GroupID}}:{{.ArtifactID}}</div> 64 - <div class="description text small">{{.Version}}</div> 58 + {{if .PackageDescriptor.Metadata.Dependencies}} 59 + <h4 class="ui top attached header">{{ctx.Locale.Tr "packages.dependencies"}}</h4> 60 + <div class="ui attached segment"> 61 + <div class="ui list"> 62 + {{range .PackageDescriptor.Metadata.Dependencies}} 63 + <div class="item"> 64 + <i class="icon">{{svg "octicon-package-dependencies" 16 ""}}</i> 65 + <div class="content"> 66 + <div class="header">{{.GroupID}}:{{.ArtifactID}}</div> 67 + <div class="description text small">{{.Version}}</div> 68 + </div> 65 69 </div> 66 - </div> 67 - {{end}} 70 + {{end}} 71 + </div> 68 72 </div> 69 - </div> 73 + {{end}} 70 74 {{end}} 71 75 {{end}}
+1 -1
templates/package/metadata/maven.tmpl
··· 1 - {{if eq .PackageDescriptor.Package.Type "maven"}} 1 + {{if and (eq .PackageDescriptor.Package.Type "maven") .PackageDescriptor.Metadata}} 2 2 {{if .PackageDescriptor.Metadata.Name}}<div class="item">{{svg "octicon-note" 16 "tw-mr-2"}} {{.PackageDescriptor.Metadata.Name}}</div>{{end}} 3 3 {{if .PackageDescriptor.Metadata.ProjectURL}}<div class="item">{{svg "octicon-link-external" 16 "tw-mr-2"}} <a href="{{.PackageDescriptor.Metadata.ProjectURL}}" target="_blank" rel="noopener noreferrer me">{{ctx.Locale.Tr "packages.details.project_site"}}</a></div>{{end}} 4 4 {{range .PackageDescriptor.Metadata.Licenses}}<div class="item" title="{{ctx.Locale.Tr "packages.details.license"}}">{{svg "octicon-law" 16 "tw-mr-2"}} {{.}}</div>{{end}}
+11
tests/integration/api_packages_maven_test.go
··· 241 241 putFile(t, fmt.Sprintf("/%s/maven-metadata.xml", snapshotVersion), "test", http.StatusCreated) 242 242 putFile(t, fmt.Sprintf("/%s/maven-metadata.xml", snapshotVersion), "test-overwrite", http.StatusCreated) 243 243 }) 244 + 245 + t.Run("Partial upload", func(t *testing.T) { 246 + defer tests.PrintCurrentTest(t)() 247 + 248 + partialVersion := packageVersion + "-PARTIAL" 249 + putFile(t, fmt.Sprintf("/%s/%s", partialVersion, filename), "test", http.StatusCreated) 250 + pkgUIURL := fmt.Sprintf("/%s/-/packages/maven/%s-%s/%s", user.Name, groupID, artifactID, partialVersion) 251 + req := NewRequest(t, "GET", pkgUIURL) 252 + resp := MakeRequest(t, req, http.StatusOK) 253 + assert.NotContains(t, resp.Body.String(), "Internal server error") 254 + }) 244 255 }