• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

jreleaser / jreleaser / #556

22 Nov 2025 04:17PM UTC coverage: 46.213% (-2.0%) from 48.203%
#556

push

github

aalmiray
feat(jdks): Allow filtering by platform

Closes #2000

Co-authored-by: Ixchel Ruiz <ixchelruiz@yahoo.com>

0 of 42 new or added lines in 5 files covered. (0.0%)

1116 existing lines in 107 files now uncovered.

24939 of 53965 relevant lines covered (46.21%)

0.46 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

5.56
/plugins/jreleaser/src/main/java/org/jreleaser/cli/Announce.java
1
/*
2
 * SPDX-License-Identifier: Apache-2.0
3
 *
4
 * Copyright 2020-2025 The JReleaser authors.
5
 *
6
 * Licensed under the Apache License, Version 2.0 (the "License");
7
 * you may not use this file except in compliance with the License.
8
 * You may obtain a copy of the License at
9
 *
10
 *     https://www.apache.org/licenses/LICENSE-2.0
11
 *
12
 * Unless required by applicable law or agreed to in writing, software
13
 * distributed under the License is distributed on an "AS IS" BASIS,
14
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
 * See the License for the specific language governing permissions and
16
 * limitations under the License.
17
 */
18
package org.jreleaser.cli;
19

20
import org.jreleaser.model.api.JReleaserCommand;
21
import org.jreleaser.model.api.JReleaserContext.Mode;
22
import org.jreleaser.model.internal.JReleaserContext;
23
import org.jreleaser.workflow.Workflows;
24
import picocli.CommandLine;
25

26
import java.util.Set;
27

28
/**
29
 * @author Andres Almiray
30
 * @since 0.1.0
31
 */
32
@CommandLine.Command(name = "announce")
33
public class Announce extends AbstractModelCommand<Main> {
1✔
34
    @CommandLine.Option(names = {"--dry-run"})
35
    Boolean dryrun;
36

37
    @CommandLine.ArgGroup
38
    Composite composite;
39

40
    static class Composite {
×
41
        @CommandLine.ArgGroup(exclusive = false, order = 1,
42
            headingKey = "include.filter.header")
43
        Include include;
44

45
        @CommandLine.ArgGroup(exclusive = false, order = 2,
46
            headingKey = "exclude.filter.header")
47
        Exclude exclude;
48

49
        String[] includedAnnouncers() {
50
            return null != include ? include.includedAnnouncers : null;
×
51
        }
52

53
        String[] excludedAnnouncers() {
54
            return null != exclude ? exclude.excludedAnnouncers : null;
×
55
        }
56
    }
57

58
    static class Include {
×
59
        @CommandLine.Option(names = {"-a", "--announcer"},
60
            paramLabel = "<announcer>")
61
        String[] includedAnnouncers;
62
    }
63

64
    static class Exclude {
×
65
        @CommandLine.Option(names = {"-xa", "--exclude-announcer"},
66
            paramLabel = "<announcer>")
67
        String[] excludedAnnouncers;
68
    }
69

70
    @Override
71
    protected void collectCandidateDeprecatedArgs(Set<AbstractCommand.DeprecatedArg> args) {
UNCOV
72
        super.collectCandidateDeprecatedArgs(args);
×
UNCOV
73
        args.add(new DeprecatedArg("-a", "--announcer", "1.5.0"));
×
UNCOV
74
        args.add(new DeprecatedArg("-xa", "--exclude-announcer", "1.5.0"));
×
UNCOV
75
    }
×
76

77
    @Override
78
    protected void doExecute(JReleaserContext context) {
UNCOV
79
        if (null != composite) {
×
80
            context.setIncludedAnnouncers(collectEntries(composite.includedAnnouncers(), true));
×
81
            context.setExcludedAnnouncers(collectEntries(composite.excludedAnnouncers(), true));
×
82
        }
UNCOV
83
        Workflows.announce(context).execute();
×
UNCOV
84
    }
×
85

86
    @Override
87
    protected Boolean dryrun() {
UNCOV
88
        return dryrun;
×
89
    }
90

91
    @Override
92
    protected Mode getMode() {
UNCOV
93
        return Mode.ANNOUNCE;
×
94
    }
95

96
    @Override
97
    protected JReleaserCommand getCommand() {
UNCOV
98
        return JReleaserCommand.ANNOUNCE;
×
99
    }
100
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc