java获取新浪新闻推送_新浪新闻页面抓取(JAVA-Jsoup)

def voidforceVersion(details, group, version) {if (details.requested.group ==group) {

details.useVersion version

}

}

defvoidforceVersion(details, group, name, version) {if (details.requested.group == group && details.requested.name ==name) {

details.useVersion version

}

}

allprojects { p->group= 'com.my.spider'version= '1.0.0'apply plugin:'java'apply plugin:'maven'apply plugin:'maven-publish'[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'jar.doFirst {

manifest {

def manifestFile= "${projectDir}/META-INF/MANIFEST.MF"

if (newFile(manifestFile).exists())

from (manifestFile)

attributes'Implementation-Title':p.nameif (p.version.endsWith('-SNAPSHOT')) {

attributes'Implementation-Version': p.version + '-' +p.ext.Timestamp

}else{

attributes'Implementation-Version': p.version

}

attributes'Implementation-BuildDateTime':newDate()

}

}

javadoc {

options {

encoding'UTF-8'charSet'UTF-8'authorfalseversiontruelinks'http://docs.oracle.com/javase/8/docs/api/index.html'memberLevel=org.gradle.external.javadoc.JavadocMemberLevel.PRIVATE

}

}if (p.name.endsWith('-api')){

task sourcesJar(type:Jar, dependsOn:classes) {

classifier= 'sources'from sourceSets.main.allSource

}

task javadocJar(type:Jar, dependsOn:javadoc) {

classifier= 'javadoc'from javadoc.destinationDir

}

}

publishing {

repositories {

maven {

credentials {

username"${repositoryUploadUsername}"password"${repositoryUploadPassword}"}if (version.endsWith('-SNAPSHOT')) {

url"${repositoryUploadSnapshotUrl}"}else{

url"${repositoryUploadReleaseUrl}"}

}

}

publications {

mavenJava(MavenPublication) {

from components.java//只有*-api才会需要发布sources和javadoc

if (p.name.endsWith('-api')){

artifact sourcesJar {

classifier"sources"}

artifact javadocJar {

classifier"javadoc"}

}

}

}

}if(System.env.uploadArchives) {

build.dependsOn publish

}

buildscript {

repositories {

maven {

name'Maven Repository'url"${repositoryMavenUrl}"credentials {

username"${repositoryUsername}"password"${repositoryPassword}"}

}

}

dependencies {classpath'org.springframework.boot:spring-boot-gradle-plugin:1.4.0.RELEASE'}

}

afterEvaluate {Project project->

if (project.pluginManager.hasPlugin('java')) {

configurations.all {

resolutionStrategy.eachDependency {DependencyResolveDetails details->forceVersion details,'org.springframework.boot', '1.4.1.RELEASE'forceVersion details,'org.slf4j', '1.7.21'forceVersion details,'org.springframework', '4.3.3.RELEASE'}

exclude module:'slf4j-log4j12'exclude module:'log4j'}

dependencies {testCompile'junit:junit:4.12'}

}

}

repositories {

maven {

name'Maven Repository'url"${repositoryMavenUrl}"credentials {

username"${repositoryUsername}"password"${repositoryPassword}"}

}

ivy {

name'Ivy Repository'url"${repositoryIvyUrl}"credentials {

username"${repositoryUsername}"password"${repositoryPassword}"}

layout"pattern", {

artifact'[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]'ivy'[organisation]/[module]/[revision]/[type]s/[artifact].[ext]'m2compatible= true}

}

}//时间戳:年月日时分

p.ext.Timestamp = new Date().format('yyyyMMddHHmm')//Build Number

p.ext.BuildNumber =System.env.BUILD_NUMBERif (p.ext.BuildNumber == null || "" ==p.ext.BuildNumber) {

p.ext.BuildNumber= 'x'}

}

task zipSources(type: Zip) {

description'压缩源代码'project.ext.zipSourcesFile= project.name + '-' + project.version + '-' + project.ext.Timestamp + '.' + project.ext.BuildNumber + '-sources.zip'archiveName=project.ext.zipSourcesFile

includeEmptyDirs= falsefrom project.projectDir

exclude'**/.*'exclude'build/*'allprojects.each { p->exclude'**/' + p.name + '/bin/*'exclude'**/' + p.name + '/build/*'exclude'**/' + p.name + '/data/*'exclude'**/' + p.name + '/work/*'exclude'**/' + p.name + '/logs/*'}

}

def CopySpec appCopySpec(Project prj, dstname= null) {if (!dstname) { dstname =prj.name }returncopySpec{//Fat jar

from (prj.buildDir.toString() + '/libs/' + prj.name + '-' + project.version + '.jar') {

into dstname

}//Configs

from (prj.projectDir.toString() + '/config/examples') {

into dstname+ '/config'}//Windows start script

from (prj.projectDir.toString() + '/' + prj.name + '.bat') {

into dstname

}//Unix conf script

from (prj.projectDir.toString() + '/' + prj.name + '.conf') {

into dstname

rename prj.name, prj.name+ '-' +project.version

}

}

}

task zipSetup(type: Zip, dependsOn: subprojects.build) {

description'制作安装包'project.ext.zipSetupFile= project.name + '-' + project.version + '-' + project.ext.Timestamp + '.' + project.ext.BuildNumber + '-setup.zip'archiveName= project.name + '-' + project.version + '-' + project.ext.Timestamp + '.' + project.ext.BuildNumber + '-setup.zip'with appCopySpec(project(':spider-demo'))

}importjava.security.MessageDigest

def generateMD5(finalfile) {

MessageDigest digest= MessageDigest.getInstance("MD5")

file.withInputStream(){is->

byte[] buffer = new byte[8192]int read = 0

while( (read = is.read(buffer)) > 0) {

digest.update(buffer,0, read);

}

}byte[] md5sum =digest.digest()

BigInteger bigInt= new BigInteger(1, md5sum)return bigInt.toString(16)

}

task md5(dependsOn: [zipSetup, zipSources])<

String md5_setup= generateMD5(file("${projectDir}/build/distributions/" +project.ext.zipSetupFile));

String md5_sources= generateMD5(file("${projectDir}/build/distributions/" +project.ext.zipSourcesFile));

println project.ext.zipSetupFile+ '=' +md5_setup

println project.ext.zipSourcesFile+ '=' +md5_sources

def newFile= new File("${projectDir}/build/distributions/"

+ project.name + '-' + project.version + '-' + project.ext.Timestamp + '.' + project.ext.BuildNumber + '-md5.txt')

PrintWriter printWriter=newFile.newPrintWriter()

printWriter.println project.ext.zipSetupFile+ '=' +md5_setup

printWriter.println project.ext.zipSourcesFile+ '=' +md5_sources

printWriter.flush()

printWriter.close()

}

build.dependsOn subprojects.build, zipSetup, zipSources, md5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值