PageRenderTime 47ms CodeModel.GetById 22ms RepoModel.GetById 1ms app.codeStats 0ms

/src/main/java/com/atlassian/bamboo/plugin/dotnet/visualstudio/VisualStudioCapabilityDefaultsHelper.java

https://bitbucket.org/atlassian/bamboo-dotnet-plugin/
Java | 59 lines | 44 code | 7 blank | 8 comment | 4 complexity | 5dd44b50c8e0499b1e554a70d833c717 MD5 | raw file
Possible License(s): BSD-3-Clause
  1. package com.atlassian.bamboo.plugin.dotnet.visualstudio;
  2. import com.atlassian.bamboo.v2.build.agent.capability.Capability;
  3. import com.atlassian.bamboo.v2.build.agent.capability.CapabilityDefaultsHelper;
  4. import com.atlassian.bamboo.v2.build.agent.capability.CapabilityImpl;
  5. import com.atlassian.bamboo.v2.build.agent.capability.CapabilitySet;
  6. import org.apache.commons.lang3.StringUtils;
  7. import org.apache.commons.lang3.SystemUtils;
  8. import org.apache.log4j.Logger;
  9. import org.jetbrains.annotations.NotNull;
  10. import org.jetbrains.annotations.Nullable;
  11. import java.io.File;
  12. public class VisualStudioCapabilityDefaultsHelper implements CapabilityDefaultsHelper
  13. {
  14. private static final Logger log = Logger.getLogger(VisualStudioCapabilityDefaultsHelper.class);
  15. // ------------------------------------------------------------------------------------------------------- Constants
  16. // ------------------------------------------------------------------------------------------------- Type Properties
  17. // ---------------------------------------------------------------------------------------------------- Dependencies
  18. // ---------------------------------------------------------------------------------------------------- Constructors
  19. // ----------------------------------------------------------------------------------------------- Interface Methods
  20. @Override
  21. @NotNull
  22. public CapabilitySet addDefaultCapabilities(@NotNull final CapabilitySet capabilitySet)
  23. {
  24. if (SystemUtils.IS_OS_WINDOWS)
  25. {
  26. final String vs2008Location = System.getenv("VS90COMNTOOLS");
  27. final String vs2010Location = System.getenv("VS100COMNTOOLS");
  28. final String vs2012Location = System.getenv("VS110COMNTOOLS");
  29. final String vs2013Location = System.getenv("VS120COMNTOOLS");
  30. createCapabilityForVisualStudio("Visual Studio 2008", capabilitySet, vs2008Location);
  31. createCapabilityForVisualStudio("Visual Studio 2010", capabilitySet, vs2010Location);
  32. createCapabilityForVisualStudio("Visual Studio 2012", capabilitySet, vs2012Location);
  33. createCapabilityForVisualStudio("Visual Studio 2013", capabilitySet, vs2013Location);
  34. }
  35. return capabilitySet;
  36. }
  37. // -------------------------------------------------------------------------------------------------- Action Methods
  38. // -------------------------------------------------------------------------------------------------- Public Methods
  39. // -------------------------------------------------------------------------------------- Basic Accessors / Mutators
  40. private void createCapabilityForVisualStudio(@NotNull final String label, @NotNull final CapabilitySet capabilitySet, @Nullable final String path)
  41. {
  42. if (StringUtils.isNotEmpty(path))
  43. {
  44. File file = new File(new File(path).getParentFile(), "IDE");
  45. if (file.exists() && file.isDirectory())
  46. {
  47. Capability capability = new CapabilityImpl(VisualStudioTaskType.VS_CAPABILITY_PREFIX + "." + label, file.getAbsolutePath());
  48. capabilitySet.addCapability(capability);
  49. }
  50. }
  51. }
  52. }