12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- ///////////////////////////////////////////////////////////////////////////
- // Copyright (c) 2018 Intel Corporation. //
- // //
- // All rights reserved. This program and the accompanying materials //
- // are made available under the terms of the Eclipse Public License v1.0 //
- // which accompanies this distribution, and is available at //
- // http://www.eclipse.org/legal/epl-v10.html //
- // //
- // Contributors: //
- // Intel Corporation - initial implementation and documentation //
- ///////////////////////////////////////////////////////////////////////////
- package com.intel.sgx.testers;
- import java.util.regex.Pattern;
- import org.eclipse.cdt.managedbuilder.core.IManagedBuildInfo;
- import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager;
- import org.eclipse.core.expressions.PropertyTester;
- import org.eclipse.core.resources.IProject;
- import org.eclipse.core.resources.IResource;
- import org.eclipse.jface.viewers.StructuredSelection;
- public class SGXPropertyTester extends PropertyTester {
- private static final Pattern isRelease = Pattern.compile(".*Release.*");
- private static final Pattern isHW = Pattern.compile(".*Hardware.*");
- private static final Pattern isPreRelease = Pattern.compile(".*Prerelease.*");;
- public SGXPropertyTester() {
- super();
- // TODO Auto-generated constructor stub
- }
- @Override
- public boolean test(Object receiver, String property, Object[] args,
- Object expectedValue) {
-
-
-
- if (property.equals("twoStepsActive")) {
- IProject project = getProjectOfSelectedItem(receiver);
- IManagedBuildInfo buildInfo = ManagedBuildManager.getBuildInfo(project);
- return isHW(buildInfo) && isRelease(buildInfo) && !isPreRelease(buildInfo);
- } else if (property.equals("sgxNatureAdded")) {
- IProject project = getProjectOfSelectedItem(receiver);
- return true;
- } else {
- return false;
- }
- }
- private IProject getProjectOfSelectedItem(Object receiver) {
- StructuredSelection selection = (StructuredSelection) receiver;
- IResource resource = (IResource) selection.getFirstElement();
- IProject project = resource.getProject();
- return project;
- }
-
- boolean isHW(IManagedBuildInfo buildInfo){
- return isHW.matcher(buildInfo.getConfigurationName()).matches();
- }
-
-
- boolean isRelease(IManagedBuildInfo buildInfo){
- return isRelease.matcher(buildInfo.getConfigurationName()).matches();
- }
-
- boolean isPreRelease(IManagedBuildInfo buildInfo){
- return isPreRelease.matcher(buildInfo.getConfigurationName()).matches();
- }
-
- }
|