Remove matrix-auth from support plugin (#845)
Moved to `matrix-auth` in 2.4
This commit is contained in:
parent
1d2dbb050b
commit
850bfa40ac
|
|
@ -1,5 +1,7 @@
|
|||
# matrix-auth-plugin
|
||||
|
||||
Requires `matrix-auth` >= 2.4
|
||||
|
||||
## sample-configuration (global matrix)
|
||||
|
||||
```yaml
|
||||
|
|
|
|||
|
|
@ -179,7 +179,7 @@
|
|||
<dependency>
|
||||
<groupId>org.jenkins-ci.plugins</groupId>
|
||||
<artifactId>matrix-auth</artifactId>
|
||||
<version>2.2</version>
|
||||
<version>2.4</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
|
|
|||
|
|
@ -65,14 +65,6 @@
|
|||
<optional>true</optional>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.jenkins-ci.plugins</groupId>
|
||||
<artifactId>matrix-auth</artifactId>
|
||||
<version>2.3</version>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
|
||||
|
||||
</dependencies>
|
||||
<scm>
|
||||
<connection>scm:git:git://github.com/jenkinsci/configuration-as-code-plugin.git</connection>
|
||||
|
|
|
|||
|
|
@ -1,43 +0,0 @@
|
|||
package io.jenkins.plugins.casc.support.matrixauth;
|
||||
|
||||
import edu.umd.cs.findbugs.annotations.CheckForNull;
|
||||
import edu.umd.cs.findbugs.annotations.NonNull;
|
||||
import hudson.Extension;
|
||||
import hudson.security.GlobalMatrixAuthorizationStrategy;
|
||||
import io.jenkins.plugins.casc.ConfigurationContext;
|
||||
import io.jenkins.plugins.casc.ConfiguratorException;
|
||||
import io.jenkins.plugins.casc.model.CNode;
|
||||
import io.jenkins.plugins.casc.model.Mapping;
|
||||
import org.kohsuke.accmod.Restricted;
|
||||
import org.kohsuke.accmod.restrictions.NoExternalUse;
|
||||
|
||||
/**
|
||||
* @author Mads Nielsen
|
||||
* @since TODO
|
||||
*/
|
||||
@Extension(optional = true, ordinal = 1)
|
||||
@Restricted(NoExternalUse.class)
|
||||
public class GlobalMatrixAuthorizationStrategyConfigurator extends MatrixAuthorizationStrategyConfigurator<GlobalMatrixAuthorizationStrategy> {
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public String getName() {
|
||||
return "globalMatrix";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<GlobalMatrixAuthorizationStrategy> getTarget() {
|
||||
return GlobalMatrixAuthorizationStrategy.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public GlobalMatrixAuthorizationStrategy instance(Mapping mapping, ConfigurationContext context) throws ConfiguratorException {
|
||||
return new GlobalMatrixAuthorizationStrategy();
|
||||
}
|
||||
|
||||
@CheckForNull
|
||||
@Override
|
||||
public CNode describe(GlobalMatrixAuthorizationStrategy instance, ConfigurationContext context) throws Exception {
|
||||
return compare(instance, new GlobalMatrixAuthorizationStrategy(), context);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
package io.jenkins.plugins.casc.support.matrixauth;
|
||||
|
||||
import edu.umd.cs.findbugs.annotations.NonNull;
|
||||
import hudson.security.AuthorizationStrategy;
|
||||
import hudson.security.Permission;
|
||||
import io.jenkins.plugins.casc.Attribute;
|
||||
import io.jenkins.plugins.casc.BaseConfigurator;
|
||||
import io.jenkins.plugins.casc.impl.attributes.MultivaluedAttribute;
|
||||
import io.jenkins.plugins.casc.util.PermissionFinder;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import org.jenkinsci.plugins.matrixauth.AuthorizationContainer;
|
||||
|
||||
/**
|
||||
* @author <a href="mailto:nicolas.deloof@gmail.com">Nicolas De Loof</a>
|
||||
*/
|
||||
public abstract class MatrixAuthorizationStrategyConfigurator<T extends AuthorizationContainer> extends BaseConfigurator<T> {
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Class getImplementedAPI() {
|
||||
return AuthorizationStrategy.class;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public Set<Attribute<T, ?>> describe() {
|
||||
return Collections.singleton(
|
||||
new MultivaluedAttribute<T, String>("grantedPermissions", String.class)
|
||||
.getter(MatrixAuthorizationStrategyConfigurator::getGrantedPermissions)
|
||||
.setter(MatrixAuthorizationStrategyConfigurator::setGrantedPermissions)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Extract container's permissions as a List of "PERMISSION:sid"
|
||||
*/
|
||||
static Collection<String> getGrantedPermissions(AuthorizationContainer container) {
|
||||
return container.getGrantedPermissions().entrySet().stream()
|
||||
.flatMap( e -> e.getValue().stream().map(v -> e.getKey()+":"+v))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
* Configure container's permissions from a List of "PERMISSION:sid"
|
||||
* @param container
|
||||
* @param permissions
|
||||
*/
|
||||
static void setGrantedPermissions(AuthorizationContainer container, Collection<String> permissions) {
|
||||
permissions.forEach(p -> {
|
||||
final int i = p.indexOf(':');
|
||||
final Permission permission = PermissionFinder.findPermission(p.substring(0, i));
|
||||
container.add(permission, p.substring(i+1));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
package io.jenkins.plugins.casc.support.matrixauth;
|
||||
|
||||
import edu.umd.cs.findbugs.annotations.CheckForNull;
|
||||
import edu.umd.cs.findbugs.annotations.NonNull;
|
||||
import hudson.Extension;
|
||||
import hudson.security.ProjectMatrixAuthorizationStrategy;
|
||||
import io.jenkins.plugins.casc.ConfigurationContext;
|
||||
import io.jenkins.plugins.casc.ConfiguratorException;
|
||||
import io.jenkins.plugins.casc.model.CNode;
|
||||
import io.jenkins.plugins.casc.model.Mapping;
|
||||
import org.kohsuke.accmod.Restricted;
|
||||
import org.kohsuke.accmod.restrictions.NoExternalUse;
|
||||
|
||||
@Extension(optional = true, ordinal = 1)
|
||||
@Restricted(NoExternalUse.class)
|
||||
public class ProjectMatrixAuthorizationStrategyConfigurator extends MatrixAuthorizationStrategyConfigurator<ProjectMatrixAuthorizationStrategy> {
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public String getName() {
|
||||
return "projectMatrix";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<ProjectMatrixAuthorizationStrategy> getTarget() {
|
||||
return ProjectMatrixAuthorizationStrategy.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProjectMatrixAuthorizationStrategy instance(Mapping mapping, ConfigurationContext context) throws ConfiguratorException {
|
||||
return new ProjectMatrixAuthorizationStrategy();
|
||||
}
|
||||
|
||||
@CheckForNull
|
||||
@Override
|
||||
public CNode describe(ProjectMatrixAuthorizationStrategy instance, ConfigurationContext context) throws Exception {
|
||||
return compare(instance, new ProjectMatrixAuthorizationStrategy(), context);
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue