Exemple #1
0
 def detect_test(self):
     output = TestBufferConanOutput()
     result = detect_defaults_settings(output)
     if platform.system() == "Linux":
         for (name, value) in result:
             if name == "compiler":
                 self.assertEquals(value, "gcc")
Exemple #2
0
    def default_profile(self):
        if self._default_profile is None:
            if not os.path.exists(self.default_profile_path):
                self._output.writeln(
                    "Auto detecting your dev setup to initialize the "
                    "default profile (%s)" % self.default_profile_path,
                    Color.BRIGHT_YELLOW)

                default_settings = detect_defaults_settings(self._output)
                self._output.writeln("Default settings", Color.BRIGHT_YELLOW)
                self._output.writeln(
                    "\n".join(
                        ["\t%s=%s" % (k, v) for (k, v) in default_settings]),
                    Color.BRIGHT_YELLOW)
                self._output.writeln(
                    "*** You can change them in %s ***" %
                    self.default_profile_path, Color.BRIGHT_MAGENTA)
                self._output.writeln(
                    "*** Or override with -s compiler='other' -s ...s***\n\n",
                    Color.BRIGHT_MAGENTA)

                self._default_profile = Profile()
                tmp = OrderedDict(default_settings)
                self._default_profile.update_settings(tmp)
                save(self.default_profile_path, self._default_profile.dumps())
            else:
                self._default_profile, _ = read_profile(
                    self.default_profile_path, None, None)

            # Mix profile settings with environment
            mixed_settings = _mix_settings_with_env(
                self._default_profile.settings)
            self._default_profile.settings = mixed_settings

        return self._default_profile
Exemple #3
0
    def create_profile(self, profile_name, detect=False):
        profile_path = get_profile_path(profile_name, self._client_cache.profiles_path, os.getcwd())
        if os.path.exists(profile_path):
            raise ConanException("Profile already exists")

        profile = Profile()
        if detect:
            settings = detect_defaults_settings(self._user_io.out)
            for name, value in settings:
                profile.settings[name] = value

        contents = profile.dumps()
        save(profile_path, contents)
        self._user_io.out.info("Empty profile created: %s" % profile_path)
        return profile_path
Exemple #4
0
    def env_setting_override_test(self):
        tmp_dir = temp_folder()
        out = MockOut()
        cache = ClientCache(tmp_dir, None, out)

        base_settings = OrderedDict(detect_defaults_settings(out))

        with tools.environment_append({"CONAN_ENV_COMPILER_VERSION": "4.6"}):
            expected = copy.copy(base_settings)
            expected["compiler.version"] = "4.6"
            self.assertEquals(cache.default_profile.settings, expected)

        tmp_dir = temp_folder()
        cache = ClientCache(tmp_dir, None, out)
        with tools.environment_append({}):
            self.assertEquals(cache.default_profile.settings, base_settings)

        tmp_dir = temp_folder()
        cache = ClientCache(tmp_dir, None, out)
        # If compiler is overwritten compiler subsettings are not assigned
        with tools.environment_append({"CONAN_ENV_COMPILER": "Visual Studio"}):
            expected = copy.copy(base_settings)
            expected["compiler"] = "Visual Studio"
            self.assertEquals(cache.default_profile.settings, expected)

        tmp_dir = temp_folder()
        cache = ClientCache(tmp_dir, None, out)
        with tools.environment_append({
                "CONAN_ENV_COMPILER": "Visual Studio",
                "CONAN_ENV_COMPILER_VERSION": "14",
                "CONAN_ENV_COMPILER_RUNTIME": "MDd"
        }):
            expected = copy.copy(base_settings)
            expected["compiler"] = "Visual Studio"
            expected["compiler.runtime"] = "MDd"
            expected["compiler.version"] = "14"

            self.assertEquals(cache.default_profile.settings, expected)
Exemple #5
0
 def generate_default_config_file():
     default_settings = detect_defaults_settings(self._output)
     default_setting_values = Values.from_list(default_settings)
     client_conf = default_client_conf + default_setting_values.dumps()
     save(self.conan_conf_path, normalize(client_conf))
Exemple #6
0
 def generate_default_config_file():
     default_settings = detect_defaults_settings(self._output)
     default_setting_values = Values.from_list(default_settings)
     client_conf = default_client_conf + default_setting_values.dumps()
     save(self.conan_conf_path, client_conf)
Exemple #7
0
 def detect_test(self):
     output = TestBufferConanOutput()
     detect_defaults_settings(output)
     self.assertIn("It seems to be the first time you've ran conan", output)
     if platform.system() == "Linux":
         self.assertIn("Found gcc", output)