首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Gradle教程「建议收藏」

任务是构建项目的动作。 具体来说,可能存在编译源代码的任务,从而生成可执行文件,如WAR或JAR文件。 基于Gradle的项目可以包含许多任务以执行以构建项目。...我们使用的第一个插件是Java插件。 该插件提供了一些预定义的配置和任务,使我们能够非常轻松地构建Java项目。 它利用类似Maven的源集在指定项目中查找源代码。...让我们看看如何做到这一点: 跑步摇篮 gradle 这将在项目根目录中存在的build.gradle文件上运行Gradle。...如前所述,由于构建文件中存在适当的Java插件,因此Gradle将能够找到项目的源代码。...5.6列出构建脚本中的任务 当我们要列出构建脚本中显示的所有任务时,我们可以简单地运行以下命令: 列出所有任务 gradle tasks 对于我们的项目,我们将看到已经定义了许多任务:

2.3K10

提高阅读代码效率神器 Sourcetrail

通过消除越来越多的计算机限制,它们减少了软件开发人员需要记住的开销。但是,不管使用哪种语言,如果一个项目达到一定规模,就很难保持源代码结构的一致思维模型。...为什么不退后一步,看看组件之间是如何连接的,而又不经常查看代码的每个细节? 我们已经有足够的代码编辑器 在编写代码时,我们有多种选择可以适应我们想要的任何工作流程。...您的计算机知道这一切。通过使用编译器或解释器,您的计算机已经知道该语言的工作方式。它知道存在哪些范例,因为它将源代码转换为可执行指令。...它知道整个代码库中的每条信息,包括:调用函数的位置,如何实例化类型,更改变量的位置。到目前为止,对于我们的开发人员而言,访问此信息很麻烦,但是使用Sourcetrail可以轻松实现。...Sourcetrail利用软件可视化来动态生成任何选定类型,函数,变量等的交互式代码映射,并显示其与其余代码库的所有依存关系。但是仅凭花哨的代码可视化效果或类图并不能使您真正了解任何源代码。

2.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【译】现代化的PHP开发--Composer

    假设没有包管理器,我们需要做什么使得依赖于B包的A包能工作起来?当我们下载A包的源代码时,发现A依赖于B包,以致于我们又要去下载B包的源代码。...PEAR PEAR: 在Composer之前,有一个叫做 PEAR 的东西。如果你很早就开始接触PHP,那你可能知道PEAR,因为它自1999年就已经存在。...: 想象我们已经完成了一个完美的项目,我们希望生成模拟数据,例如,显示我们的客户的姓名和地址。...composer install: 这个命令运行,首先会查找项目中是否有composer.lock文件,如果文件存在,则安装按文件中定义的包的确切版本,然后忽略composer.json文件。...composer实际上还生成了一个 vendor/autoload.php 的文件,该文件可以自由地为我们自动填充,使我们很容易的使用vender中的代码。

    75910

    配置Android项目 - 静态代码分析工具

    如果它发现一些问题,你会看到类似下面的输出。 ? 当你打开lint.html报告文件时,你将看到问题列表描述,和如何解决它们的建议。 ?...classes — 生成的类的路径(如果你有多个flavor,路径由flavor名称组成,在当前情况下为“dev”)。...当你打开findbugs.html报告文件,你将看到问题列表与说明和如何解决它们的建议。 ? 如果你想忽略此问题,请将以下规则添加到rules-findbugs.xml文件中。 ?...重新构建你的项目,然后使用./gradlew pmd命令运行pmd。如果它发现一些问题,你会看到类似下面的输出。 ? 当你打开pmd.html报告文件,你将看到问题列表与说明和如何解决它们的建议。...如果你想忽略此问题,请将以下规则添加到rules-pmd.xml文件中。 ? 注意:还有其他方法压制pmd警告。有关pmd的更多信息,请访问官方网站。

    69320

    将 Docker 镜像安全扫描,添加到 CICD 管道

    最后一种方法很酷,因为它使我们能够自动化流程并不断分析所生成的图像,从而符合DevOps的理念。 这是一个简单的例子: 因此,今天我将向您展示如何设置集成到CI/CD管道中的镜像安全扫描。...它基于我们之前推送的Dockerfile构建项目的映像,然后将映像推送到Gitlab容器注册表中。...如果镜像“不安全”,则使工作失败,否则,则可以使工作成功,从而改善这种情况。 问题是,什么时候失败?显然,我们不能简单地说“每当发现一个漏洞时就会失败”,因为我们的映像很可能至少会存在一些漏洞。...答案很难说,因为它取决于您要实现的安全级别。通常,我们希望尽可能避免严重漏洞。答案还取决于您获得的漏洞。您能忽略其中一些吗?这取决于您。这就是为什么与安全团队持续合作可以从这些扫描中受益匪浅的原因。...结论 因此,我们已经看到了如何将安全扫描作业集成到GitlabCI管道中,这非常简单(至少使用Trivy)。当然,在我的示例中,我在单个master分支中完成了所有操作。

    2.5K20

    将Docker镜像安全扫描步骤添加到CICD管道

    最后一种方法很酷,因为它使我们能够自动化流程并不断分析所生成的图像,从而符合DevOps的理念。 这是一个简单的例子: 因此,今天我将向您展示如何设置集成到CI/CD管道中的镜像安全扫描。...它基于我们之前推送的Dockerfile构建项目的映像,然后将映像推送到Gitlab容器注册表中。...如果镜像“不安全”,则使工作失败,否则,则可以使工作成功,从而改善这种情况。 问题是,什么时候失败?显然,我们不能简单地说“每当发现一个漏洞时就会失败”,因为我们的映像很可能至少会存在一些漏洞。...答案很难说,因为它取决于您要实现的安全级别。通常,我们希望尽可能避免严重漏洞。答案还取决于您获得的漏洞。您能忽略其中一些吗?这取决于您。这就是为什么与安全团队持续合作可以从这些扫描中受益匪浅的原因。...结论 因此,我们已经看到了如何将安全扫描作业集成到GitlabCI管道中,这非常简单(至少使用Trivy)。当然,在我的示例中,我在单个master分支中完成了所有操作。

    1.7K20

    使用Java注解来简化你的代码

    之所以建议不再使用,一定是有了更好的取代物了,如果你一定要在你的项目中使用,等待新的jdk版本发布之后,很可能删除了这些方法或者类,可能会导致你的项目原先的一些方法或者类无法识别。...文件中是不存在这一行注解代码的,CLASS范围表示编译器编译之后,注解代码存在于class文件中,但是jvm在加载此class文件的时候会自动忽略掉这一行注解代码。...接着使注解Documented,这是一个关于文档的元注解,被它注解的注解在注解其他方法或者类的时候可以被Javadoc等工具文档化,对于一般的注解,在Javadoc等工具文档化类或者方法的时候会丢弃注解内容...比如我们用上述自定义的注解去修饰了一个People类,如果此人的age不知道,我们该如何赋值(参数的值不能为null)。...还有一个前提是:我们的注解处理器实际上也是类,所以它只有在被加载到jvm中才能生效,但是如果我们的注解的生命周期范围到不了jvm的话,注解处理器也是没用的。

    1.6K50

    Python是一门什么语言

    如果我们写的程序代码都包含在一个源文件中,那么通常编译之后就会直接生成一个可执行文件,我们就可以直接运行了。...它既保留了源代码的高抽象、可移植的特点,又已经完成了对源代码的大部分预编译工作,所以执行起来比“纯解释型”程序要快许多。...,存放于系统的某个DLL文件中,所有以VB6编译生成的可执行程序都要用到它),以解释执行实际的程序体。...高级语言---当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节 可移植性---由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工 作在不同平台上...代码不能加密,因为PYTHON是解释性语言,它的源码都是以名文形式存放的,不过我不认为这算是一个缺点,如果你的项目要求源代码必须是加密的,那你一开始就不应该用Python来去实现。

    74420

    自动化测试:如何构建Selenium框架

    Selenium提供了一个名为WebDriver的API,它使测试人员能够用多种编程语言编写测试,包括Java、c#、Python等。...如果我们已经选择了Java语言来编写测试,我推荐TestNG,因为它提供了几个重要的好处,例如: TestNG类似于JUnit,但它比JUnit强大得多——特别是在测试集成类方面。...PAGEOBJECT模式 页面对象模型(POM)已经成为测试自动化框架中实际使用的模式,因为它减少了代码的重复,从而降低了测试维护成本。 应用POM意味着我们将把UI元素组织到页面中。...Junit和TestNG等测试框架提供的报告机制通常以XML格式生成,可以很容易地由CI/CD工具等其他软件解释。不幸的是,这些xml对于我们人类来说并不容易阅读。...就像软件开发项目一样,测试和测试工具的源代码存储在源代码控制系统中,也称为版本控制系统。流行的源代码控制系统有GitHub、Bitbucket和TFS。

    1.7K30

    Ant 打包安卓apk(1)-手动档

    :   -f : 如果编译出来的文件已经存在,强制覆盖   -m : 使得生成的包的目录放在 -J 参数指定的目录   -M :   -I :...还要注意jar包的命名最好不带空格,否则得双引号引起来 -d 指定放置生成的类文件的位置 最后一个参数是 , 列举出所有用到的源文件, 由于我指定了sourcepath,...: bin/classes, 所以的手动mkdir 提示找不到符号: 类 BuildConfig, 由于我是从Eclipse拷出的项目, 手动copy一个到gen下R.java的同级目录即可. /**...D:/Android/android-sdk/platforms/android-22/android.jar -A assets -S res -F bin/res.zip -f 如果编译生成的文件已经存在...-u -z bin/res.zip -f bin/classes.dex 但是如果如果被移除的话, 可以在安卓sdk安装目录tools\lib下是否存在sdklib.jar, 如果存在还是可以打包的.

    49420

    如何将你的代码可视化?

    这让我想到了我往往如何可视化代码,有点难以描述。我认为,它通常以不同的方式存在于我的脑海中,这取决于抽象和特殊性水平,而且同时存在若干不同方式的组合。...在这种情况下,高级的架构图得分也许不会很高,因为它抽象掉了服务框内的许多细节。分布式跟踪可以做得更好,不过具体程度取决于有多少个跟踪点。类图虽然有助于可视化类之间的关系,但可能并不表示实际的路径。...如何表示递归?房间一直嵌套下去? 如何防止里面的东西变得陈旧和过时?至少,这个需要能够自动生成。 问题 有几个考量因素使这个问题变得棘手。一个是物理位置的变化比代码的变化耗时通常长得多。...fsn(文件管理器):一个实验性的应用程序,支持以 3D 方式查看文件系统(出现在 Jurassic Park 中)。 如果你了解到其他类似的项目,欢迎和我联系,我非常乐意听到更多这样的项目!...有趣的想象 显然,这个概念并不是什么突破性的东西,但我认为,对于我们使用的工具,这是一个有趣的思考方式,重要的是,我们如何做得更好。一定有更好的方法存在,设想下它们可能的样子会很有趣。

    57440

    LeakCanary- 如何检测 Activity 是否泄漏

    总之,这里已经生成好了一个 RefWatcher对象了。...判断方式是:先看 Activity 对应的 KeyedWeakReference 是否已经放入 ReferenceQueue 中;如果没有,则手动 GC:gcTrigger.runGc();;然后再一次判断...LeakCanary 参考了一段 AOSP 的代码 怎样改造leakCanary 忽略某些已知泄漏的类或 Activity LeakCanary 提供了 ExcludedRefs 类,可以向里面添加某些主动忽略的类...比如已知 Android 源代码里有某些内存泄漏,不属于我们 App 的泄漏,那么就可以 exclude 掉。...小结 本文通过源代码分析了 LeakCanary 的原理,并提出了一些有趣的问题,学习了一些实用的知识点。希望对读者有所启发,欢迎与我讨论。 之后会继续挑选优质开源项目进行分析,欢迎提意见。

    1.4K40

    测试技术|白盒测试以及代码覆盖率实践

    在大多数情况下,代码覆盖系统会收集有关正在运行程序的信息,它还将其与项目源代码信息相结合,以生成有关测试套件的代码覆盖率的报告。...通常,在任何软件中,如果我们查看源代码,都会有各种各样的元素,例如运算符、函数、循环、异常处理程序等。根据程序的输入,某些代码语句可能不会执行。 让我们通过一个示例来了解如何计算语句覆盖率。...帮助你确保没有分支导致程序操作的任何异常 分支覆盖方法可消除由于语句覆盖测试产生的问题 使你可以找到其他测试方法未测试的区域 分支覆盖率会忽略布尔表达式内部的分支 2.1.3...DevPartner DevPartner使开发人员能够分析Java代码的代码质量和复杂性。 Emma EMMA支持类、方法、行和基本块覆盖范围,聚合的源文件、类和方法级别。...Jacoco Jacoco是一个开源的针对java语言的覆盖率工具 3 总结 代码覆盖率是一种度量,它描述了程序源代码已经过测试的程度 它可以帮助你评估测试执行的效率 语句覆盖涉及至少一次执行源代码中的所有可执行语句

    1.7K20

    如何在gitlab上发布npm包

    如果想了解一个功能全备的前端项目都有啥,可以参考之前的文章前端项目里都有啥? npm init 选择你认为合适的目录(这里我们直接使用demo目录)。...# 忽略检查单元测试的覆盖率报告 coverage # 忽略文档输出 docs .eslintrc.json { // 配置 ESLint 解析器的选项,指定了语法为 ES6,源代码类型为...但是呢,这个也是因人而异的,我们也可以选择不做这步,毕竟有些项目只是一个资源或者工具的封装。因为,我们在平时开发中已经对这些工具方法都做了验证了。...生成令牌 项目创建完成之后,需要生成项目私有的「认证令牌」,我们把demo这个库作为我们要发布的npm包,先生成它的Deploy tokens ❝token作用:最后发布npm包的时候需要用来认证 ❞...AUTH_TOKEN=gldt-xxxx npm publish 如果有如下的结果,就表明我们这个包已经发布成功了。

    56310

    第六章 Java Gradle插件

    6.1 如何应用 基于我们之前讲的应用插件章节,很容易的应用Java插件,我们常用的方式就是使用简称应用: apply plugin: 'java' 通过以上脚本应用之后,Java插件会为你的工程添加很多有用的默认设置和约定...,如果要实现这个目的,我们在build脚本里这么配置 添加一个vip的源代码集合(源集),然后我们在src下新建vip/java、vip/resources目录就可以分别存放vip相关的源代码和资源文件了...6.4 如何构建一个Java项目 在Gradle中,执行任何操作都是任务驱动的,构建Java项目也不例外。Java插件为我们提供了很多任务,通过运行他们来达到我们构建Java项目的目的。...其中我们在base项目中定义了Person类以供app项目的HelloWorld使用,要使用其他项目中的类,我们需要在项目中的build文件中配置项目依赖。...,如果大家有兴趣,可以想看相关文档,加深对Java插件的理解,理解了Java插件后,对于我们理解下章Android插件就容易多了。

    1.2K10

    关于 Java 的简介

    因此,Java 通过处理内存管理使程序员的生活变得轻松。但是,程序员应该注意他们的代码是否使用了已经使用了很长时间的对象。因为垃圾不能恢复被引用对象的内存。...如果要包含外部库,则应将它们添加到类路径中。 Java 的主要/主要特性 1、Platform Independent: 编译器将源代码转换为字节码,然后 JVM 执行编译器生成的字节码。...10、动态灵活性: Java 完全面向对象使我们可以灵活地向现有类添加类、新方法,甚至通过子类创建新类。Java 甚至支持用其他语言编写的函数,例如 C、C++,它们被称为本地方法。...字节码验证器还提供额外的安全性,因为它的作用是检查代码是否存在任何违反访问的情况。...12、Write Once Run Anywhere:如上所述,java 应用程序生成一个’.class’文件,它对应于我们的应用程序(程序),但包含二进制格式的代码。

    76521

    自动化测试:如何构建Selenium框架-云层补充版

    如果我们已经选择了Java语言来编写测试,我推荐TestNG,因为它提供了几个重要的好处,例如: TestNG类似于JUnit,但它比JUnit强大得多——特别是在测试集成类方面。...使用TestNG,您还可以使用代码片段中演示的@Test注释将一个测试类中的测试分组到子组中。 云层:随着Junit5成熟,TestNG已经没有什么优势了!...PAGEOBJECT模式 页面对象模型(POM)已经成为测试自动化框架中实际使用的模式,因为它减少了代码的重复,从而降低了测试维护成本。 应用POM意味着我们将把UI元素组织到页面中。...Junit和TestNG等测试框架提供的报告机制通常以XML格式生成,可以很容易地由CI/CD工具等其他软件解释。不幸的是,这些xml对于我们人类来说并不容易阅读。...就像软件开发项目一样,测试和测试工具的源代码存储在源代码控制系统中,也称为版本控制系统。流行的源代码控制系统有GitHub、Bitbucket和TFS。

    2.8K20

    创建一个DIY的APM监视Node.js中的Web应用程序的性能

    如果我们专注于我们的应用程序的一个更小的版本: 我们可以通过重写Cat.find方法来监视在MongoDB中花费的时间: 在这个代码中: 1.我们提取Cat对象的原型。...这个API使我们能够在异步操作上设置钩子。 出于我们的目的,我们只需要这个API来跟踪负责代码执行的HTTP请求。一些包(如持续本地存储或区域的各种实现)提供了类似的功能。...随意项目的核心代码,中心概念已经在本文中进行了解释。 如果你运行库中提供的testApp。将在目录中创建一个名为apm_logs.json的文件。...Bonus: Viewer 由于我们的代理正在生成JSON输出,所以我们应该能够以更加用户友好的方式显示时序数据。...结尾 商业工具的存在,并提供比我们简单的概念证明,包括更多的功能: 1.事件循环监视 2.内存监视 3.历史统计 4.垃圾收集监控 5.服务器负载监视 如果您在生产环境中运行Node.js应用程序,则可能需要查看它们提供的内容

    1.5K80
    领券