<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def PortageFactory(name, NAME, DOMAIN, BaseClass=autoportage.AutoPortage):
 """ Create a new dynamic portage project. Auto-Generated projects can only be used for compilie-time experiments, because there simply is no run-time test defined for it. Therefore, we implement the run symbol as a noop (with minor logging). This way we avoid the default implementation for run() that all projects inherit. Args: name: Name of the dynamic class. NAME: NAME property of the dynamic class. DOMAIN: DOMAIN property of the dynamic class. BaseClass: Base class to use for the dynamic class. Returns: A new class with NAME,DOMAIN properties set, unable to perform run-time tests. Examples: <class '__main__.test'> 'NAME' 'DOMAIN' """


    def run_not_supported(self, *args, **kwargs):
        """Dynamic projects don't support a run() test."""
        del args, kwargs  # Unused

        LOG.warning(
            "Runtime testing not supported on auto-generated projects.")
        return

    newclass = type(
        name, (BaseClass, ), {
            "NAME": NAME,
            "DOMAIN": DOMAIN,
            "SRC_FILE": "none",
            "VERSION": BaseClass.VERSION,
            "GROUP": "auto-gentoo",
            "run": run_not_supported,
            "__module__": "__main__"
        })
    return newclass