{"id":272,"date":"2023-01-28T16:00:08","date_gmt":"2023-01-28T07:00:08","guid":{"rendered":"https:\/\/hirabay.net\/?p=272"},"modified":"2023-01-29T07:55:55","modified_gmt":"2023-01-28T22:55:55","slug":"%e3%80%90gradle%e3%80%91%e3%83%97%e3%83%ad%e3%82%b8%e3%82%a7%e3%82%af%e3%83%88%e3%81%ae%e8%a8%ad%e5%ae%9a%e3%82%92plugin%e3%81%a7%e5%85%b1%e9%80%9a%e5%8c%96","status":"publish","type":"post","link":"https:\/\/hirabay.net\/?p=272","title":{"rendered":"\u3010Gradle\u3011\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u8a2d\u5b9a\u3092Plugin\u3067\u5171\u901a\u5316"},"content":{"rendered":"\n<p>\u8907\u6570\u306eGradle\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u7ba1\u7406\u3057\u3066\u3044\u308b\u3068\u304d\u3001<br><strong><span class=\"keiko_red\">\u300c\u5171\u901a\u7684\u306a\u8a2d\u5b9a\u3092\u3072\u3068\u307e\u3068\u3081\u306b\u3057\u3066\u7ba1\u7406\u3057\u305f\u3044\u300d<\/span><\/strong>\u3068\u601d\u3063\u305f\u3053\u3068\u306f\u306a\u3044\u3067\u3057\u3087\u3046\u304b\uff1f<\/p>\n\n\n\n<p>\u305d\u308c\u3001Gradle\u30d7\u30e9\u30b0\u30a4\u30f3\u3067\u5b9f\u73fe\u3067\u304d\u307e\u3059\uff01<\/p>\n\n\n\n<p>\u30d7\u30e9\u30b0\u30a4\u30f3\u3067\u5171\u901a\u5316\u3092\u3059\u308b\u3053\u3068\u3067\u3001\u4e00\u6c17\u306b\u66f4\u65b0\u3092\u304b\u3051\u306a\u3051\u308c\u3070\u3044\u3051\u306a\u3044\u306a\u3093\u3066\u6642\u306e\u624b\u9593\u304c\u6570\u5206\u306e\uff11\u3067\u3059\u307f\u307e\u3059\u3057\u3001<br>\u91cd\u8981\u306a\u8a2d\u5b9a\u306e\u8a2d\u5b9a\u30e2\u30ec\u30fb\u30df\u30b9\u306a\u3093\u3066\u3053\u3068\u3082\u306a\u304f\u306a\u308a\u307e\u3059\uff01<\/p>\n\n\n\n<p>\u3053\u306e\u8a18\u4e8b\u3067\u306f\u3001Gradle\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u57fa\u672c\u7684\u306a\u4f5c\u308a\u65b9\u304b\u3089\u3001\u3084\u308a\u305f\u3044\u3053\u3068\u30d9\u30fc\u30b9\u3067\u5b9f\u88c5\u65b9\u6cd5\u3092\u7d39\u4ecb\u3057\u3066\u3044\u304d\u307e\u3059\uff01<\/p>\n\n\n\n<div class=\"toc\"><br \/>\n<b>Warning<\/b>:  Undefined array key \"is_admin\" in <b>\/home\/c4179872\/public_html\/hirabay.net\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>110<\/b><br \/>\n<br \/>\n<b>Warning<\/b>:  Undefined array key \"is_category_top\" in <b>\/home\/c4179872\/public_html\/hirabay.net\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>115<\/b><br \/>\n<br \/>\n<b>Warning<\/b>:  Undefined array key \"is_top\" in <b>\/home\/c4179872\/public_html\/hirabay.net\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>122<\/b><br \/>\n    <div id=\"toc_container\" class=\"sgb-toc--bullets js-smooth-scroll\">\n      <p class=\"toc_title\">\u76ee\u6b21 <\/p>\n      <ul class=\"toc_list\">\n  <li class=\"first\">\n    <a href=\"#i-0\">\u30d7\u30e9\u30b0\u30a4\u30f3\u4f5c\u6210<\/a>\n    <ul class=\"menu_level_1\">\n      <li class=\"first\">\n        <a href=\"#i-1\">\u30d7\u30e9\u30b0\u30a4\u30f3\u63d0\u4f9b\u5074<\/a>\n      <\/li>\n      <li class=\"last\">\n        <a href=\"#i-2\">\u30d7\u30e9\u30b0\u30a4\u30f3\u5229\u7528\u5074<\/a>\n      <\/li>\n    <\/ul>\n  <\/li>\n  <li class=\"last\">\n    <a href=\"#i-3\">\u9006\u5f15\u304d\u5b9f\u88c5\u4f8b<\/a>\n    <ul class=\"menu_level_1\">\n      <li class=\"first\">\n        <a href=\"#i-4\">\u81ea\u4f5c\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u52d5\u4f5c\u3092\u8a2d\u5b9a\u53ef\u80fd\u306b<\/a>\n      <\/li>\n      <li>\n        <a href=\"#i-5\">\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u8a2d\u5b9a\u3092\u5909\u66f4\u3059\u308b<\/a>\n      <\/li>\n      <li>\n        <a href=\"#i-6\">\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u8ffd\u52a0<\/a>\n      <\/li>\n      <li class=\"last\">\n        <a href=\"#i-7\">\u4f9d\u5b58\u306e\u8ffd\u52a0<\/a>\n      <\/li>\n    <\/ul>\n  <\/li>\n<\/ul>\n\n      \n    <\/div><\/div><h2 class=\"wp-block-heading\" id=\"i-0\">\u30d7\u30e9\u30b0\u30a4\u30f3\u4f5c\u6210<\/h2>\n\n\n\n<p>\u307e\u305a\u306f\u7c21\u5358\u306a\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u4f5c\u3063\u3066\u307f\u307e\u3057\u3087\u3046\uff01<\/p>\n\n\n\n<p><code>Hello, gradle plugin<\/code>\u3068\u8868\u793a\u3059\u308b\u3060\u3051\u306ehello\u30bf\u30b9\u30af\u3092\u8ffd\u52a0\u3059\u308b\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u4f5c\u3063\u3066\u307f\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-1\">\u30d7\u30e9\u30b0\u30a4\u30f3\u63d0\u4f9b\u5074<\/h3>\n\n\n\n<p>\u307e\u305a\u306f\u30d7\u30e9\u30b0\u30a4\u30f3\u5074\u306e\u4f5c\u696d\u3067\u3059\u3002<\/p>\n\n\n\n<p><code>build.gradle<\/code>\u3068\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u30e1\u30a4\u30f3\u30af\u30e9\u30b9\u3092\u4f5c\u6210\u3057\u307e\u3059\uff01<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-groovy\" data-file=\"build.gradle\" data-lang=\"Groovy\"><code>plugins {\n    \/\/ \u958b\u767a\u8a00\u8a9e\u3068\u3057\u3066groovy\u3092\u6307\u5b9a\n    \/\/ build.gradle\u304cgroovy\u3067\u8a18\u8f09\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3001\u611f\u899a\u304c\u8fd1\u3044\u304b\u306a\u3068\n    id 'groovy'\n    \/\/ \u30d7\u30e9\u30b0\u30a4\u30f3\u958b\u767a\u6642\u306b\u5fc5\u8981\u306a\u30d7\u30e9\u30b0\u30a4\u30f3\n    id 'java-gradle-plugin'\n    \/\/ Maven\u3078publish\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\uff08\u4eca\u56de\u306flocal\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u5229\u7528\uff09\n    id 'maven-publish'\n}\n\ngroup 'sample'\nversion '1.0.0'\nsourceCompatibility = 17\n\ngradlePlugin {\n    plugins {\n        mySamplePlugin {\n            \/\/ \u30d7\u30e9\u30b0\u30a4\u30f3\u5229\u7528\u6642\u306e\u8b58\u5225\u5b50\n            \/\/ \u300capply plugin: 'xxxxx'\u300d\u306e\u3084\u3064\n            id = 'sample.sample-gradle-plugin'\n            \/\/ \u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u5b9f\u88c5\u30af\u30e9\u30b9\u3092\u6307\u5b9a\n            implementationClass = 'sample.SampleGroovyPlugin'\n        }\n    }\n}\n\nrepositories {\n    mavenCentral()\n}\n\ndependencies {\n    \/\/ \u30d7\u30e9\u30b0\u30a4\u30f3\u958b\u767a\u306b\u5fc5\u8981\u306a\u4f9d\u5b58\u3092\u81ea\u52d5\u3067\u53d6\u308a\u8fbc\u3093\u3067\u304f\u308c\u308b\u8a2d\u5b9a\u3067\u3059\n    gradleApi()\n}\n\n\/\/ maven\u5229\u7528\u306e\u305f\u3081\u306e\u8a2d\u5b9a\npublishing {\n    publications {\n        mavenPlugin(MavenPublication) {\n            artifactId = 'sample-gradle-plugin'\n\n            from components.java\n        }\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-groovy\" data-file=\"sample\/SampleGroovyPlugin.groovy\" data-lang=\"Groovy\"><code>package sample\n\nimport org.gradle.api.Plugin\nimport org.gradle.api.Project\n\n\/\/ \u30d1\u30c3\u30b1\u30fc\u30b8\u30fb\u30af\u30e9\u30b9\u540d\u306f\u300cimplementationClass\u300d\u3068\u5bfe\u5fdc\u3055\u305b\u308b\nclass SampleGroovyPlugin\n        \/\/ Plugin&lt;Project&gt;\u3092\u5b9f\u88c5\u3059\u308b\n        implements Plugin&lt;Project&gt; {\n    @Override\n    void apply(Project project) {\n        \/\/ \u30bf\u30b9\u30af\u306e\u8ffd\u52a0\u65b9\u6cd5\n        project.tasks.create('hello') {\n            doLast {\n                println('Hello, gradle plugin')\n            }\n        }\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<p>\u3053\u3053\u307e\u3067\u3067\u304d\u305f\u3089\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067maven\u30ea\u30dd\u30b8\u30c8\u30ea\u306bupload\u3057\u307e\u3057\u3087\u3046\uff01<br>\u203b\u3053\u306e\u8a18\u4e8b\u3067\u306fmaven local\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-bash\" data-lang=\"Bash\"><code>$ .\/gradlew publishToMavenLocal\n\n# \u901a\u5e38\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u4f7f\u7528\u6642\u306f\u3053\u3061\u3089\n$ .\/gradlew publish<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-2\">\u30d7\u30e9\u30b0\u30a4\u30f3\u5229\u7528\u5074<\/h3>\n\n\n\n<p>maven repository (\u30ed\u30fc\u30ab\u30eb\u3084\u793e\u5185\u30ea\u30dd\u30b8\u30c8\u30ea\u542b\u3081)\u306b\u30d7\u30e9\u30b0\u30a4\u30f3\u306ejar\u30d5\u30a1\u30a4\u30eb\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3092\u3057\u3066\u3044\u308b\u5834\u5408\u3001<br>buildscript\u3067\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u53d6\u5f97\u5143\u3092\u6307\u5b9a\u3057\u3066\u3042\u3052\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-groovy\" data-file=\"build.gradle\" data-lang=\"Groovy\"><code>buildscript {\n\trepositories {\n\t\t\/\/ \u30d7\u30e9\u30b0\u30a4\u30f3\u306epublish\u5148\u3092\u6307\u5b9a\uff08\u4eca\u56de\u306f\u30ed\u30fc\u30ab\u30eb\u30ea\u30dd\u30b8\u30c8\u30ea\uff09\n\t\tmavenLocal()\n\t}\n\tdependencies {\n\t\t\/\/ \u958b\u767a\u3057\u305f\u30d7\u30e9\u30b0\u30a4\u30f3\u306egroup.project name.version\n\t\tclasspath 'sample:sample-gradle-plugin:1.0.0'\n\t}\n}\n\n\/\/ id\u3067\u6307\u5b9a\u3057\u305f\u8b58\u5225\u5b50\u3067\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u9069\u7528\napply plugin: 'sample.sample-gradle-plugin'<\/code><\/pre><\/div>\n\n\n\n<p>\u3053\u308c\u3067hello\u30bf\u30b9\u30af\u304c\u8ffd\u52a0\u3055\u308c\u3001\u5b9f\u884c\u3059\u308b\u3068\u2026<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-plain\"><code>&gt; Task :app:hello\nHello, gradle plugin<\/code><\/pre><\/div>\n\n\n\n<p>\ud83c\udf89\ud83c\udf89\ud83c\udf89\ud83c\udf89\ud83c\udf89<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-3\">\u9006\u5f15\u304d\u5b9f\u88c5\u4f8b<\/h2>\n\n\n\n<p>\u3053\u3053\u304b\u3089\u306f\u3084\u308a\u305f\u3044\u3053\u3068\u30d9\u30fc\u30b9\u3067\u5b9f\u88c5\u65b9\u6cd5\u3092\u7d39\u4ecb\u3057\u3066\u3044\u304d\u307e\u3059\uff01<\/p>\n\n\n\n<p>\u5b9f\u969b\u306b\u50d5\u304c\u73fe\u5834\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u5171\u901a\u5316\u3092\u3057\u305f\u3068\u304d\u306e\u5b9f\u88c5\u3092\u4f8b\u306b\u3042\u3052\u3066\u3044\u304d\u307e\u3059\u306d\uff01<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-4\">\u81ea\u4f5c\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u52d5\u4f5c\u3092\u8a2d\u5b9a\u53ef\u80fd\u306b<\/h3>\n\n\n\n<p>\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u5229\u7528\u8005\u5074\u3067<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-groovy\" data-file=\"build.gradle\" data-lang=\"Groovy\"><code>hello {\n    message = 'plugin extention'\n}<\/code><\/pre><\/div>\n\n\n\n<p>\u306e\u3088\u3046\u306b\u8a2d\u5b9a\u3059\u308b\u3068\u3001<code>message<\/code>\u3092\u5143\u306b\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u51fa\u529b\u3059\u308b\u3088\u3046\u306b\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u307e\u305a\u306fExtension\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<br>\u8aad\u307f\u8fbc\u307e\u305b\u305f\u3044\u8a2d\u5b9a\u3092\u30d5\u30a3\u30fc\u30eb\u30c9\u306b\u6301\u3064\u30af\u30e9\u30b9\u3092\u4f5c\u6210\u3059\u308b\u3060\u3051\u3067\u3059\uff01<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-groovy\" data-lang=\"Groovy\"><code>class HelloExtension {\n    String message\n}<\/code><\/pre><\/div>\n\n\n\n<p>\u6b21\u306b\u4f5c\u6210\u3057\u305fExtension\u3092Project\u306b\u767b\u9332\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-groovy\" data-lang=\"Groovy\"><code>    @Override\n    void apply(Project project) {\n        \/\/ extension\u3092\u767b\u9332\n        project.extensions.create(\"hello\", HelloExtension)\n\n        project.tasks.create('hello') {\n            doLast {\n                \/\/ extension\u306e\u8aad\u307f\u8fbc\u307f\u306f`project.extensions.getByXxxx`\u3092\u4f7f\u3046\n                println(\"Hello, ${project.extensions.getByType(HelloExtension.class).message}\")\n            }\n        }\n    }<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-5\">\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u8a2d\u5b9a\u3092\u5909\u66f4\u3059\u308b<\/h3>\n\n\n\n<p>\u8a2d\u5b9a\u5909\u66f4\u306f\u672c\u5bb6\u30d7\u30e9\u30b0\u30a4\u30f3\u5074\u306e\u5b9f\u88c5\u65b9\u91dd\u306b\u3088\u3063\u3066\u3044\u308d\u3044\u308d\u3042\u308b\u306e\u3067\u3001\u4e2d\u8eab\u3092\u8ffd\u3046\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u4f8b\u3048\u3070bootJar\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u8a2d\u5b9a\u3092\u8ffd\u52a0\u3057\u305f\u3044\u5834\u5408<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-groovy\" data-lang=\"Groovy\"><code>bootJar {\n\tclassifier = 'sample'\n}<\/code><\/pre><\/div>\n\n\n\n<p>classifier\u306e\u4e2d\u8eab\u3092\u8ffd\u3063\u3066\u307f\u307e\u3059\u3002Intellij\u3067\u3042\u308c\u3070Ctrl\uff08Win\uff09 or Cmd\uff08Mac\uff09\u3092\u62bc\u3057\u306a\u304c\u3089\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u5b9f\u88c5\u5185\u5bb9\u304c\u898b\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-java\" data-lang=\"Java\"><code>\/\/ \u2460\uff1atask\u3067\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u305d\u3046\npublic abstract class AbstractArchiveTask extends AbstractCopyTask {\n    ...\n    \/\/ \u2462\uff1aarchiveClassifier\u306fproperty\n    private final Property&lt;String&gt; archiveClassifier;\n    ...\n    @Deprecated\n    public void setClassifier(@Nullable String classifier) {\n        this.archiveClassifier.convention(classifier);\n        \/\/ \u2461\uff1aarchiveClassifier\u3068\u3044\u3046\u5909\u6570\u306b\u5024\u3092\u8a2d\u5b9a\u3057\u3066\u3044\u308b\n        this.archiveClassifier.set(classifier);\n    }\n    ...\n}<\/code><\/pre><\/div>\n\n\n\n<p>\u3064\u307e\u308a\u3001\u300cbootJar\u30bf\u30b9\u30af\u300d\u306e\u300carchiveClassifier\u300d\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u5909\u66f4\u3059\u308c\u3070\u3088\u3044\u3053\u3068\u304c\u5206\u304b\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u3053\u308c\u3092\u5b9f\u88c5\u3059\u308b\u3068\u3053\u3093\u306a\u611f\u3058\uff01<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-groovy\" data-lang=\"Groovy\"><code>    @Override\n    void apply(Project project) {\n        \/\/ \u5229\u7528\u8005\u5074\u3067\u8a2d\u5b9a\u53ef\u80fd\u306a\u306e\u306f\u3053\u3063\u3061\n        project.tasks.getByName('bootJar').property('classifier', 'custom')\n\n        \/\/ \u5229\u7528\u8005\u5074\u306e\u8a2d\u5b9a\u3082\u4e0a\u66f8\u304d\u3057\u3061\u3083\u3046\u306e\u306f\u3053\u3063\u3061\n        project.afterEvaluate {\n            project.tasks.getByName('bootJar').setProperty('classifier', 'custom')\n        }\n    }<\/code><\/pre><\/div>\n\n\n\n<p>\u203b\u3044\u304f\u3064\u304b\u30d1\u30bf\u30fc\u30f3\u304c\u3042\u308a\u305d\u3046\u306a\u306e\u3067\u767a\u898b\u6b21\u7b2c\u8ffd\u8a18\u4e88\u5b9a<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-6\">\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u8ffd\u52a0<\/h3>\n\n\n\n<p>Checkstyle\u3068\u3044\u3046\u30b3\u30fc\u30c9\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3092\u30c6\u30b9\u30c8\u3057\u3066\u304f\u308c\u308b\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u5165\u308c\u308b\u4f8b\u3067\u3059\uff01<\/p>\n\n\n\n<p><code>build.gradle<\/code><\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-groovy\" data-file=\"build.gradle\" data-lang=\"Groovy\"><code>plugins {\n    id 'checkstyle'\n}<\/code><\/pre><\/div>\n\n\n\n<p>\u30d7\u30e9\u30b0\u30a4\u30f3\u5b9f\u88c5<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-groovy\" data-lang=\"Groovy\"><code>    @Override\n    void apply(Project project) {\n        project.plugins.apply('checkstyle')\n    }<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-7\">\u4f9d\u5b58\u306e\u8ffd\u52a0<\/h3>\n\n\n\n<p>lombok\u3092\u4f9d\u5b58\u306b\u8ffd\u52a0\u3059\u308b\u4f8b\u3067\u3059\uff01<\/p>\n\n\n\n<p><code>build.gradle<\/code><\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-groovy\" data-file=\"build.gradle\" data-lang=\"Groovy\"><code>dependencies {\n\tcompileOnly 'org.projectlombok:lombok'\n\tannotationProcessor 'org.projectlombok:lombok'\n}<\/code><\/pre><\/div>\n\n\n\n<p>\u30d7\u30e9\u30b0\u30a4\u30f3\u5b9f\u88c5<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-groovy\" data-lang=\"Groovy\"><code>    @Override\n    void apply(Project project) {\n        project.dependencies {\n            compileOnly 'org.projectlombok:lombok'\n            annotationProcessor 'org.projectlombok:lombok'\n        }\n    }<\/code><\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u8907\u6570\u306eGradle\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u7ba1\u7406\u3057\u3066\u3044\u308b\u3068\u304d\u3001\u300c\u5171\u901a\u7684\u306a\u8a2d\u5b9a\u3092\u3072\u3068\u307e\u3068\u3081\u306b\u3057\u3066\u7ba1\u7406\u3057\u305f\u3044\u300d\u3068\u601d\u3063\u305f\u3053\u3068\u306f\u306a\u3044\u3067\u3057\u3087\u3046\u304b\uff1f \u305d\u308c\u3001Gradle\u30d7\u30e9\u30b0\u30a4\u30f3\u3067\u5b9f\u73fe\u3067\u304d\u307e\u3059\uff01 \u30d7\u30e9\u30b0\u30a4\u30f3\u3067\u5171\u901a\u5316\u3092\u3059\u308b\u3053\u3068\u3067\u3001\u4e00\u6c17\u306b\u66f4\u65b0\u3092\u304b &#8230; <\/p>\n","protected":false},"author":1,"featured_media":282,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[33,56,57],"class_list":{"0":"post-272","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-6","8":"tag-gradle","9":"tag-plugin","10":"tag-57"},"jetpack_featured_media_url":"https:\/\/hirabay.net\/wp-content\/uploads\/2023\/01\/233460be5ec1916b3070b41eeb891d48.png","_links":{"self":[{"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/posts\/272","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=272"}],"version-history":[{"count":4,"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/posts\/272\/revisions"}],"predecessor-version":[{"id":291,"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/posts\/272\/revisions\/291"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/media\/282"}],"wp:attachment":[{"href":"https:\/\/hirabay.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=272"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=272"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=272"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}