{"adoption": {"forks": 261, "observed_at": "2026-08-28T04:05:59.993973+00:00", "stars": 1967}, "canonical_url": "https://ross.abutalabs.com/products/dexmaker", "card": {"archived": false, "artifact_type": "library", "description": "A utility for doing compile or runtime code generation targeting Android's Dalvik VM", "domain": ["android-tools", "developer-tools", "testing"], "enriched": true, "function": ["testing", "mocking", "compiler"], "health_score": 85, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "stable", "member_repos": ["linkedin/dexmaker"], "name": "linkedin/dexmaker", "platform": ["jvm"], "pushed_at": "2026-05-29T21:49:38+00:00", "repo": "linkedin/dexmaker", "stars": 1967, "tags": ["dalvik", "dex", "bytecode-generation", "mockito", "android-instrumentation-tests", "class-proxies", "android"], "topics": [], "urls": [], "use_cases": ["generate Dalvik dex bytecode at runtime on Android", "use Mockito in Android instrumentation tests", "mock final classes and methods on Android P+", "create class proxies for AOP or mocking without writing bytecode", "generate and load classes dynamically into a running Android process"], "what_it_is": "Dexmaker is a Java API for compile-time or runtime code generation targeting Android's Dalvik VM, producing .dex files instead of .class files. It also enables Mockito mocking in Android instrumentation tests via generated Dalvik bytecode class proxies.", "when_to_avoid": ["you are generating JVM .class files rather than Dalvik dex files (use ASM or cglib)", "your tests must run on Android versions older than P and you need final-class mocking", "you need a high-level AST-based code generation API out of the box"], "when_to_choose": ["you need runtime or compile-time code generation targeting the Dalvik VM", "you want Mockito support in Android instrumentation tests", "you need to mock final classes/methods on Android P or newer", "you want low-level, instruction-level control over emitted Dalvik bytecode"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dexmaker", "repo": "linkedin/dexmaker", "role": "main", "score": 68}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.993973+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:05:13.878728+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3c07b93b865beac1e6f313da28eb288ac22a927d60a5cc935539c5ec402ec7b", "fetched_at": "2026-08-28T04:05:59.993973+00:00", "kind": "readme", "missing": false, "url": "https://github.com/linkedin/dexmaker"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.993973+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:05:13.878728+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3c07b93b865beac1e6f313da28eb288ac22a927d60a5cc935539c5ec402ec7b", "fetched_at": "2026-08-28T04:05:59.993973+00:00", "kind": "readme", "missing": false, "url": "https://github.com/linkedin/dexmaker"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:05:13.878728+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3c07b93b865beac1e6f313da28eb288ac22a927d60a5cc935539c5ec402ec7b", "fetched_at": "2026-08-28T04:05:59.993973+00:00", "kind": "readme", "missing": false, "url": "https://github.com/linkedin/dexmaker"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.993973+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.993973+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.993973+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:05:13.878728+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3c07b93b865beac1e6f313da28eb288ac22a927d60a5cc935539c5ec402ec7b", "fetched_at": "2026-08-28T04:05:59.993973+00:00", "kind": "readme", "missing": false, "url": "https://github.com/linkedin/dexmaker"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.993973+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.993973+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:05:13.878728+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3c07b93b865beac1e6f313da28eb288ac22a927d60a5cc935539c5ec402ec7b", "fetched_at": "2026-08-28T04:05:59.993973+00:00", "kind": "readme", "missing": false, "url": "https://github.com/linkedin/dexmaker"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.993973+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.993973+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.993973+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:05:13.878728+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3c07b93b865beac1e6f313da28eb288ac22a927d60a5cc935539c5ec402ec7b", "fetched_at": "2026-08-28T04:05:59.993973+00:00", "kind": "readme", "missing": false, "url": "https://github.com/linkedin/dexmaker"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.993973+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.993973+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:05:13.878728+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3c07b93b865beac1e6f313da28eb288ac22a927d60a5cc935539c5ec402ec7b", "fetched_at": "2026-08-28T04:05:59.993973+00:00", "kind": "readme", "missing": false, "url": "https://github.com/linkedin/dexmaker"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:05:13.878728+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3c07b93b865beac1e6f313da28eb288ac22a927d60a5cc935539c5ec402ec7b", "fetched_at": "2026-08-28T04:05:59.993973+00:00", "kind": "readme", "missing": false, "url": "https://github.com/linkedin/dexmaker"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:05:13.878728+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3c07b93b865beac1e6f313da28eb288ac22a927d60a5cc935539c5ec402ec7b", "fetched_at": "2026-08-28T04:05:59.993973+00:00", "kind": "readme", "missing": false, "url": "https://github.com/linkedin/dexmaker"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:05:13.878728+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3c07b93b865beac1e6f313da28eb288ac22a927d60a5cc935539c5ec402ec7b", "fetched_at": "2026-08-28T04:05:59.993973+00:00", "kind": "readme", "missing": false, "url": "https://github.com/linkedin/dexmaker"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 84, "longevity": 100, "rhythm": 29}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4277, "days_push": 96, "days_rel": 393, "gap_med": 49, "n_releases_24m": 2}, "score": 68, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}